今更ながらシリーズ(2) StringInquirer

Rails.env == 'production'

という式は、

Rails.env.production?

と書ける。これは Rails.env が単なる文字列ではなく、ActiveSupport::StringInquirer という String を継承したクラスに変換されているから。

ActiveSupport.StringInquirer.new("foo").foo? #=> true

ちなみに、Rails 3.1 では、String#inquiry で String から StringInquirer を生成できる。

Rails.version      # => "3.1.0.beta1" 
s = "hoge".inquiry # => "hoge" 
s.class            # => ActiveSupport::StringInquirer
s.hoge?            # => true 
s.fuga?            # => false