module Configuru::ConfigMethods

Public Class Methods

included(base) click to toggle source
# File lib/configuru/config_methods.rb, line 5
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

configure(options={}) { |self| ... } click to toggle source
# File lib/configuru/config_methods.rb, line 91
def configure(options={})
  Hash(options).each_pair do |name,value|
    if name.to_sym == :options_source
      self.options_source = value
    else
      send("#{name.to_s}=",value)
    end
  end
  yield self if block_given?
  self
end
is_locked() click to toggle source
# File lib/configuru/config_methods.rb, line 80
def is_locked
  @locked = false unless instance_variable_defined?(:@locked)
  @locked
end
lock(flag=true) click to toggle source

Instance methods

# File lib/configuru/config_methods.rb, line 77
def lock(flag=true)
  @locked = flag
end
options_source=(value) click to toggle source
# File lib/configuru/config_methods.rb, line 102
def options_source=(value)
  sub_options = case value
    when Hash, Array then value
    when IO, StringIO, Tempfile then 
      YAML.load(value)
    when String, Pathname
      output = {}
      File.open(value,"r") { |f| output = YAML.load(f) }
      output
    else
      raise ArgumentError.new("Wrong argument class for options_source: #{value.class}")
  end
  if sub_options.is_a? Array
    sub_options.each { |elem| self.options_source=elem }
  else
    configure(sub_options)
  end
end
param_names() click to toggle source
# File lib/configuru/config_methods.rb, line 84
def param_names
  self.class.param_names
end
set_parent_object(object) click to toggle source
# File lib/configuru/config_methods.rb, line 87
def set_parent_object(object)
  @__parent_object = object
end