Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Module | extended

概要

Module#extended(obj) -> object

詳細

self が他のオブジェクト に Object#extend されたときに呼ばれる。
引数には extend を行ったオブジェクトが渡されます。

サンプルコード
module ForExtend
  def self.extended(obj)
    print <<-EOS
extended
obj = #{obj}
self = #{self}
    EOS
  end
end

Person = Struct.new(:name, :age)
Person.new('tanaka',25).extend ForExtend

出力

$ ruby extended.rb
extended
obj = #<struct Person name="tanaka", age=25>
self = ForExtend