Module: Berater::DSL
Instance Method Summary collapse
Instance Method Details
#eval(&block) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/berater/dsl.rb', line 24 def eval &block @keywords ||= Class.new do # create a class where DSL keywords are methods KEYWORDS.each do |keyword| define_singleton_method(keyword) { keyword } end end install @keywords.class_eval &block ensure uninstall end |