けんちゃんくんさんのWeb日記
2015/1/5

Railsを読むぞ #2

今日は core_ext/array/* の残り。

active_support/core_ext/array/extract_options.rb

引数の最後のHashを抜き出すいつものやつですね。 Hash#extractable_options? も一緒に定義していて、Hashのサブクラスでextractされないようなものを作れるようになってるそうな。なるほどー。

active_support/core_ext/array/groups.rb

in_groups_ofin_groups 似てるけどだいぶ違う。 in_groups のほうがロジックは大分難しいんですね。

active_support/core_ext/array/prepend_and_append.rb

aliasを定義してるだけ。

active_support/core_ext/array/wrap.rb

おなじみ Array.wrap 。いつもお世話になっています。

to_ary に反応してもnilが変えってくることを考慮して、

elsif object.respond_to?(:to_ary)
  object.to_ary || [object]

となっているのはなるほど感ありますね。

created_at: 2015-08-06 01:43:33 +0900
updated_at: 2015-08-06 01:43:33 +0900