タグ

concernに関するyutaka_kinjyoのブックマーク (2)

  • Rails4のconcernsなmoduleのテストをrspecで書く方法 - Qiita

    「Everyday Rails - RSpecによるRailsテスト入門」を読んでRSpecが楽しくなってきたところで、このに書かれていないけど「こんなのもテストしたい!」という場合にどうすればいいか調べてみた。 Rails4では、共通機能を定義したモジュールをconcernsに置くことができる。目的はDRYであったり、Fat Controller, Fat Modelを避けるため(だと思う)。Rails3以前はバラバラの方法で行われていたけど、オフィシャルの規約ができた(のだと思う)。 そこで、concerns下に定義したモジュールのテストをRSpecで書く方法を検討してみた。 いくつか方法があり、例えば、リア充爆発日記で紹介されていたりする。個人的にはStack Overflowで紹介されている方法が好みだったので、最小限のコードでまとめてみた。 テスト対象のコード

    Rails4のconcernsなmoduleのテストをrspecで書く方法 - Qiita
  • [Rails] ActiveSupport::Concern の存在理由 - Qiita

    Railsにおいて共通した処理を切り出すために ActiveSupport::Concern がよく使われています。 しかし、Rubyには元から mix-in という処理を切り出す機能があります。 では、ActiveSupport::Concern の存在理由は何でしょうか。 mix-inの複雑な記述を省略できる Rubyの mix-in は通常以下のようなルールで記述します 切り出した機能を module として作成 共通メソッドを module 内に記述 クラスメソッドや組み込み先クラスの内部処理を module に入れたい場合は特殊なメソッドを使う必要がある ActiveSupport::Concern はこの3番目にある 特殊なメソッド の記述を簡単にしてくれます。 具体的にConcernあり/なし の例を見てみましょう。 (具体例コードは ActiveSupport::Conce

    [Rails] ActiveSupport::Concern の存在理由 - Qiita
  • 1