Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

たまにしか使わないけど微妙に似てるメソッドはmoduleに切り分け

superは上位クラスの同名メソッドを呼び出すメソッドです。
これと、extendを組み合わせると、
極々たまにしか使わないけど凄く似てるメソッド
の切り分けができます

module Announce
  def next; "Next :: " <<  super << " !!"; end  
end  
=> :next

必要なときはextendでmoduleを呼び出して使います

"Hoge".extend(Announce).next
#=> "Next :: Hogf !!"

extendをつけなければ、この通り変化はありません。

"Hoge".next
=> "Hogf"