- http://railsadventures.wordpress.com/tag/simpledelegator/
- http://devcaffeine.com/2012/06/20/isolating-validations-in-activemodel/
- http://www.ruby-doc.org/stdlib-1.9.3/libdoc/delegate/rdoc/SimpleDelegator.html
- 讓自己的class 可以利用include, inherit 得到其他module, class 的能力, 除此之外還可以利用delegate
class A < SimpleDelegator
end
class B
def do_something
puts "B has done something"
end
end
obj = A.new(B.new)
obj.do_something
- 大部分時候還是用include module 的方式比較好, 這樣在debug 時也比較容易去找, 因為delegator 會因為傳入的object 的不同, 呼叫的method 可能會分散在各個不同的file 裡增加 debug 的困難