Ruby Advent Calendar 2018 3日目の記事になります。 なんとか日付が変わる前に書けました…。 何を書こうか迷ったんですが、この記事では今年 Ruby にパッチを投げまくったディープな Refinements の世界について書いてみようかと思います。 そもそも皆さん Refinements は使っていますか?どんな機能か知っていますか? まずは Refinements についておさらいしてみましょう。 クラス拡張について Ruby ではオープンクラスに対してメソッドを拡張する事が出来ます。 # Integer クラスに対して後からメソッドを追加する事が出来る class Integer def twice self + self end end # 追加したメソッドは既存のオブジェクトから呼び出すことが出来るようになる p 42.twice # => 84 # クラス