C系言語でお馴染みのenumですが、Rubyにはenumがないので、moduleを使ってやっています。 enum定数の定義 基本的には定数を複数持ったモジュールを定義するだけです。
こんにちは、鈴木です。 以前のエントリで「includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン」をご紹介しました。 今回は、それに関する定形処理を肩代わりしてくれる ActiveSupport::Concern をご紹介します。 includeされた時にクラスメソッドとインスタンスメソッドを同時に追加するパターン Before 以前のエントリ(includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン)でご紹介していますが、おさらいしましょう。 module M def self.included(base) base.extend(ClassMethods) end module ClassMethods def foo puts 'foo' end end def bar puts 'bar' end end
Rails 4.0 -> concerns ディレクトリ Mix-in 用のモジュールを置くディレクトリ concerns が定義された app/models/concerns app/controllers/concerns それぞれ、モデル、コントローラーの Mix-in 用のモジュールを置く 何が得なの? models や、controllersでしか使わない module は、concerns ディレクトリに置くというルールができた lib になんでも置いちゃう病が少し良くなる lib に色々置かれてて、何に使うコードなのかよくわからないのが色々あるという状況が少し良くなる もしくは、勝手に独自のディレクトリに置かれるということが無くなった
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く