Parent

Configuration::DSL

Constants

Protected

Public Class Methods

evaluate(configuration, options = {}) click to toggle source
# File lib/configuration.rb, line 133
def self.evaluate configuration, options = {}, &block
  dsl = new configuration
  Pure[dsl].instance_eval(&block) if block
  options.each{|key, value| Pure[dsl].send key, value}
  Pure[dsl].instance_eval{ @__configuration }
end
new(configuration, &block) click to toggle source
# File lib/configuration.rb, line 140
def initialize configuration, &block
  @__configuration = configuration
  @__singleton_class =
    class << @__configuration
      self
    end
end

Public Instance Methods

Method(m) click to toggle source
# File lib/configuration.rb, line 129
def Method m
  @__configuration.method(m)
end
Send(m, *a, &b) click to toggle source
# File lib/configuration.rb, line 125
def Send(m, *a, &b)
  Method(m).call(*a, &b)
end
__configuration__() click to toggle source
# File lib/configuration.rb, line 148
def __configuration__
  @__configuration
end
method_missing(m, *a, &b) click to toggle source
# File lib/configuration.rb, line 153
def method_missing(m, *a, &b)
  if(a.empty? and b.nil?)
    return Pure[@__configuration].send(m, *a, &b)
  end
  if b
    raise ArgumentError unless a.empty?
    parent = @__configuration
    name = m.to_s
    configuration =
      if @__configuration.respond_to?(name) and Configuration === @__configuration.send(name)
        @__configuration.send name 
      else
        Configuration.new name
      end
    Pure[configuration].instance_eval{ @__parent = parent }
    DSL.evaluate configuration, &b
    value = configuration
  end
  unless a.empty?
    value = a.size == 1 ? a.first : a
  end
  @__singleton_class.module_eval do
    define_method(m){ value }
  end
end
object_id(*args) click to toggle source
# File lib/configuration.rb, line 182
def object_id(*args)
  unless args.empty?
    verbose = $VERBOSE
    begin
      $VERBOSE = nil
      define_method(:object_id){ args.first }
    ensure
      $VERBOSE = verbose
    end
  else
    return Pure[@__configuration].object_id
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.