Guest User

Untitled

a guest
Feb 21st, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. module Bar
  2. def hello
  3. "original"
  4. end
  5. end
  6.  
  7. module Merb
  8. METHS = {}
  9.  
  10. Bar.instance_methods.each do |meth|
  11. class_variable_set("@@__meth_#{meth}", Bar.instance_method(meth))
  12.  
  13. class_eval <<-RUBY
  14. def #{meth}(*args)
  15. @@__meth_#{meth}.bind(self).call(*args)
  16. end
  17. RUBY
  18. end
  19. end
  20.  
  21. module Baz
  22. def hello
  23. "new"
  24. end
  25. end
  26.  
  27. class Foo
  28. include Bar
  29. include Baz
  30.  
  31. def merb!
  32. extend Merb
  33. end
  34. end
  35.  
  36. f = Foo.new
  37.  
  38. p f.merb!.hello
Add Comment
Please, Sign In to add comment