Guest User

Untitled

a guest
Apr 20th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. require "rubygems"
  2. require "blockenspiel"
  3.  
  4. require "ruby-debug"
  5.  
  6. class ConfigMethods
  7. include Blockenspiel::DSL
  8.  
  9. def initialize(set)
  10. @set = set
  11. end
  12.  
  13. def add_foo(value)
  14. puts "foo: #{@set.teste}."
  15. @set.teste = value
  16. end
  17.  
  18. def add_bar(value)
  19. puts "bar: #{@set.teste}."
  20. end
  21. end
  22.  
  23. class Configure
  24. attr_accessor :teste
  25.  
  26. def initialize(&block)
  27. @teste = "teste"
  28. Blockenspiel.invoke(block, ConfigMethods.new(self))
  29. end
  30. end
  31.  
  32. def configure_me(&block)
  33. x = Configure.new(&block)
  34. puts "-----"
  35. puts x.teste
  36. puts ""
  37. x
  38. end
  39.  
  40.  
  41.  
  42. configure_me do |config|
  43. config.add_foo(1)
  44. config.add_bar(2)
  45. end
  46.  
  47. x = configure_me do
  48. add_foo(1)
  49. add_bar(2)
  50. end
  51.  
  52. puts x.teste
Add Comment
Please, Sign In to add comment