There's an echo in my head

日々のメモ。

activesupport

acts_like?でduck typing

1年ぐらい前に社内ブログにメモしてた内容をまんま転載。 はて、これはduck typingなのか? 概要 Object#acts_like?を使うとクラスの異なるオブジェクトが同じ振る舞いをするかどうかの判定が手軽にできるようになる。 具体例 ActiveSupportではTimeとDateTi…

Rails 4.1ではモジュール配下のクラス名をunderscoeするときにacronymの設定を考慮してくれない

ActiveSupport::Inflector.underscore does not respect acronym inflections within a module · Issue #17193 · rails/rails · GitHub の件。 具体的な影響としてはたとえば次のように、SKUという単語をacronymとして設定しても、namespaceでモジュールを切…

ActiveRecord::Baseにfindとかfirstっぽいメソッドを生やす。

Rails 3.2.8の話。ActiveRecordは長いのでARと略す。 findやfirstの実装自体はAR::FinderMethodsで定義されていて、それをincludeすることでAR::Relationのインスタンス(user.postsとかUser.scopedの返り値)から使えるようになっている。 module AR::Finde…

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。