次のコードがあります。
class A
def self.scope
yield
end
def self.method_added method
self.instance_eval %{
# do something involving the added method
}
end
end
class B < A
scope do
def foo
end
end
end
method_added
フックが起動されると、内部のコードはinstance_eval
追加されたメソッドと同じスコープ内で実行されますか? それとも、その外側で実行されますか?
これに関連する警告と落とし穴は何ですか?