Rubyで委任を使用したいのですが、ターゲットオブジェクトが呼び出すすべてのメソッドに応答することを保証できません。デフォルトの動作で委任を定義できますか?
例えば
class DummyPresenter
delegate :name, :age, :to => :@content, :default => nil
def initialize(content)
@content = content
end
end
class Student
def name
"name"
end
end
> DummyPresenter.new(Student.new).age # => nil
> DummyPresenter.new(Student.new).name # => "name"
さて、上記の例は次のようになります。
NoMethodError:
undefined method `age' for #<Student:0xa121212>