はじめに
Rails4.2系の話です
いろいろある
- Railtie
- ActionMailer
- ActionPack
- ActionView
- ActiveJob
- ActiveModel
- ActiveRecord
- ActiveSupport
Railtie
- Railsの中核部分
- Railtieに基づいたプラグインの組み合わせで、Rails機能を拡張できる
- ActionControllerなども、そうやって実装されているらしい
- Railtieを使ってプラグインを作れる
参考
- Ruby - Gem、Railtieプラグイン、Engine(full/mountable)の違いとそれぞれの基礎情報 - Qiita
- Rails - Railtie, Engine 関係資料 - Qiita
- Twiwt:Blog / jugyo : Railtie に関するドキュメントを訳した
- Railtie と Engine と Plugin の関係 - Rails 雑感 - Ruby on Rails with OIAX
ActionMailer
- Railでメールの送受信する機能を提供
- Action Mailer の基礎 | Rails ガイド
ActionPack
- ルーティングとMVCのControllerを持つフレームワーク
- 以下のコンポーネントを持つ
- AbstractController
- ActionController
- ActionDispatch
- 2 まではこの中に、ActionViewが入ってた
- 現在は疎結合になってActionPackから出た
- 4.1 でActionPack Variantsが追加された
- デバイス毎にViewファイルを切り替える
- それまでそれをするには、jpmobile 等よそのgemを使う必要があった
- Rails 4.1.0 の ActionPack Variants でデバイスごとのViewを表示する TECHSCORE BLOG
AbstractController
- 3で追加
- ActionMailerと、ActionControllerを抽象化したController
- レンダリングを管理(ActionViewに投げる)
ActionController
- MVCのController
- Action Controller の概要 | Rails ガイド
ActionDispatch
- ルーティング
- リクエストをControllerに渡す
- config/routes.rb を読む人
参考
ActionView
ActiveJob
- 4.2 で追加
- すぐ使えるジョブ管理のインフラ
- ActiveJob API 経由で色んなクエリシステム(外部gem)を実行できる
- Resque
- Delayed Job
- Sidekiq
参考
ActiveModel
ActiveRecord
- Active Record パターンの実装
- よくそのことを忘れる
- Active Record の基礎 | Rails ガイド
ActiveSupport
参考
- Ruby on Rails3で学ぶWeb開発のキホン(2):Railsの全体像を知ろう (1/2) - @IT
- Rails3の頃のはなしなので注意
TODO
- パーフェクトRailsに詳しく書かれているっぽいのでそちらも読む