module Pannier::DSL
Public Instance Methods
build(*args, &block)
click to toggle source
# File lib/pannier/dsl.rb, line 7 def build(*args, &block) base = self.new(*args) delegator_klass = self.const_get('DSLDelegator') delegator = delegator_klass.new(base) delegator.instance_eval(&block) base end
dsl(&block)
click to toggle source
# File lib/pannier/dsl.rb, line 15 def dsl(&block) begin delegator_klass = self.const_get('DSLDelegator') delegator_klass.class_eval(&block) rescue NameError delegator_klass = Class.new(SimpleDelegator, &block) self.const_set('DSLDelegator', delegator_klass) end end