module Configurator::Bindings

Public Class Methods

included(base) click to toggle source
# File lib/configurator/dsl.rb, line 25
    def self.included(base)
      base.send :include, Singleton
      base.send :include, InstanceMethods
      base.extend self

      # allow for reloading of target class
      base.class_eval { remove_instance_variable(:@config) if defined? @config }

      base.class_eval(<<-EOF, __FILE__, __LINE__ + 1)
        def self.method_missing(method, *args, &block)
          return super unless instance.respond_to? method
          instance.public_send(method, *args, &block)
        end
      EOF
    end

Public Instance Methods

_inspect()
Alias for: inspect
config(&block) click to toggle source
# File lib/configurator/dsl.rb, line 41
def config(&block)
  @config ||= Configurator::Section.new(:root)
  @config.instance_exec(@config, &block) if block_given?
  @config
end
Also aliased as: configuration, root
configuration(&block)
Alias for: config
inspect() click to toggle source
# File lib/configurator/dsl.rb, line 54
def inspect
  s = ''
  s << "#<#{self.class.name}:0x%x " % (self.__id__ * 2)
  s << {:config_path => config_path, :config => config}.inject([]) { |a,(k,v)| a << "@#{k}=#{v.inspect}" }.join(', ')
  s << '>'
end
Also aliased as: _inspect
root(&block)
Alias for: config
to_yaml() click to toggle source
# File lib/configurator/dsl.rb, line 49
def to_yaml
  instance.to_yaml
end