class EasyConf::Configuration

Attributes

decoder[RW]
lookups[R]

Public Class Methods

new() click to toggle source
# File lib/easy_conf/configuration.rb, line 8
def initialize
  @lookups = []
end

Public Instance Methods

de_register_lookup(klass) click to toggle source
# File lib/easy_conf/configuration.rb, line 21
def de_register_lookup(klass)
  @lookups -= [klass]
end
lookups=(lookups) click to toggle source
# File lib/easy_conf/configuration.rb, line 12
def lookups=(lookups)
  @lookups = lookups.to_a
end
register_lookup(klass) click to toggle source
# File lib/easy_conf/configuration.rb, line 16
def register_lookup(klass)
  register_placeholder(klass.placeholder)
  @lookups << klass
end

Private Instance Methods

check_placeholder_conflict!(placeholder) click to toggle source
# File lib/easy_conf/configuration.rb, line 36
def check_placeholder_conflict!(placeholder)
  raise LookupNameConflictError.new(placeholder) if self.class.instance_methods(:false).include?(placeholder)
end
register_placeholder(placeholder) click to toggle source
# File lib/easy_conf/configuration.rb, line 26
def register_placeholder(placeholder)
  check_placeholder_conflict!(placeholder)

  instance_variable_set("@#{placeholder}_conf", OpenStruct.new)

  define_singleton_method(placeholder) do
    instance_variable_get("@#{placeholder}_conf")
  end
end