参考書を読んだメモ : 独習Ruby on Rails 12章, 13章
独習Ruby on Rails
その他のコンポーネント
Action Mailer
ActionStrage
- 画像やファイルなどをデータとして登録できる
- クラウド上のストレージを利用することもできる
Action Job
- 通常のWebアプリケーションとは切り離して非同期で処理する仕組み
- ジョブの起動は、Webアプリのアクション、またはrails コマンドで指示できる
Action Cable
- 双方向リアルタイム機能を実現する機能
- HTTP通信に変わってWebSocket通信を利用し、可能にしている
Gemパッケージ
主なGemパッケージ
- devise
- ユーザー認証に関する機能
- bootstrap
- BootStrapを使用するGem
- kamenari
- 複数ページを制御するページネーション機能
- carrierwave
- 画像や動画などをアップロードする時に使用される
- Active Storageが追加されたので今後の価値は変わるのかも
- geocoder
- 住所と緯度経度を相互変換するGem
- gmaps4rails
- Googleマップを使用する際に利用される
- pry-rails
- デバッグツールとして使用されるGem
- dotenv-rails
Active SupportとRailsのテスト
- Rubyの拡張機能や、便利なユーティリティを提供している
- remove
- 該当パターンの文字列を削除する
- "Hello World".remove(/Hello /) => "World"
- squish
- 余白削除
- 改行やタブ、全角半角スペースなどの空白文字を除去し、連続した空白を1つの半角スペースにする
- truncate
- 指定された文字数に切り詰めた文字列を返す
- first/last, form/to, at
- 指定された位置と桁数にしたがって文字の一部を抽出する
- pluralize/singularize
- 単数<=>複数の変換を行う
- camelids/underscore/dasherize
- スネーク型からキャメル型に
- キャメル型からスネーク型に
- _から-に変換する
- present?
- レシーバーのオブジェクトが空でないときtrueを返す
- blank?の逆
- presence
- レシーバーのオブジェクトが空でないときレシーバーの値、そうでないときはnilを返す
- in?
- 引数で示されるオブジェクト範囲に含まれるか評価する
fruits = ["みかん", "めろん", "りんご", "いちご"] "りんご".in?(fruits) => true
- delegate
- オブジェクトの特定メソッドを委譲することで、自分のメソッドのように使用できる
- with_options
- 複数メソッドの共通するオプションを1つにまとめて指定できる
テスト
- Rails で使用される標準のテスト用メソッドは、ActiveSupport::TestCaseというコンポーネントを使って実装される