参考書を読んだメモ : 独習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
  • pry-rails
  • 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つにまとめて指定できる

テスト