確認したかったこと
モジュールのインスタンスメソッドからinclude元のクラスのインスタンス変数/メソッドを呼び出すことは可能か?
実験
module TalkActions
def say_my_name
puts "I am #{@name}"
end
def shout_my_name
puts "I am #{self.name}!!!!!!!!"
end
end
class Human
attr_accessor :name
include TalkActions
def initialize(name)
@name = name
end
end
John = Human.new("John")
John.say_my_name # 'I am John'
John.shout_my_name # 'I am John!!!!!!!!'
結論
どちらも呼び出し可能