class Spectre::DslClass

www.dan-manges.com/blog/ruby-dsls-instance-eval-with-delegation

Public Instance Methods

_evaluate(&block) click to toggle source
# File lib/spectre.rb, line 33
def _evaluate &block
  @__bound_self__ = eval('self', block.binding)
  instance_eval(&block)
end
_execute(args, &block) click to toggle source
# File lib/spectre.rb, line 38
def _execute args, &block
  @__bound_self__ = eval('self', block.binding)
  instance_exec(args, &block)
end
method_missing(method, *args, **kwargs, &block) click to toggle source
# File lib/spectre.rb, line 43
def method_missing method, *args, **kwargs, &block
  if @__bound_self__.respond_to? method
    @__bound_self__.send(method, *args, **kwargs, &block)
  else
    Delegator.redirect(method, *args, **kwargs, &block)
  end
end