Module: Qswarm::DSL::ClassMethods
- Defined in:
- lib/qswarm/dsl.rb
Instance Method Summary collapse
Instance Method Details
#dsl(*symbols) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/qswarm/dsl.rb', line 52 def dsl(*symbols) symbols.each do |sym| Qswarm::DSL::Config.module_eval "def #{sym}(*args, &block) @@caller.send(#{sym.inspect}, *args, &block); end" #Qswarm::DSL::Config.module_eval "def #{sym}(name, args = nil, &block) @@caller.send(#{sym.inspect}, name, args, &block); end" #Qswarm::DSL::Config.module_eval { define_method(sym, -> (name, args = nil, &block) { @@caller.send(sym.inspect, name, args, &block) } ) } end end |
#dsl_accessor(*symbols) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/qswarm/dsl.rb', line 38 def dsl_accessor(*symbols) symbols.each do |sym| Qswarm::DSL::Config.module_eval %{ def #{sym} @@#{sym} end def #{sym}=(*val) @@#{sym} = val.size == 1 ? val[0] : val end } end end |