class RadSettings

Public Class Methods

[](hash) click to toggle source
Calls superclass method
# File lib/rad_settings.rb, line 29
def [](hash)
  return instance[hash] unless hash.is_a?(Hash)

  res = super(hash)

  res.keys.each do |key|
    define_method key.to_s do
      value = self[key.to_s] || self[key.to_sym]
      value.is_a?(Hash) ? self.class[value] : value
    end
  end

  res
end
create_accessors!() click to toggle source
# File lib/rad_settings.rb, line 44
def create_accessors!
  instance.keys.each do |key|
    singleton_class.class_eval do
      define_method key.to_s do
        instance.send(key)
      end
    end
  end
end
instance() click to toggle source
# File lib/rad_settings.rb, line 21
def instance
  @instance ||= load
end
load() click to toggle source
# File lib/rad_settings.rb, line 25
def load
  self[YAML.load_file(source)[namespace]]
end
load!() click to toggle source
# File lib/rad_settings.rb, line 15
def load!
  @instance = nil
  create_accessors!
  instance
end
namespace(value = nil) click to toggle source
# File lib/rad_settings.rb, line 11
def namespace(value = nil)
  @namespace ||= value
end
source(value = nil) click to toggle source
# File lib/rad_settings.rb, line 7
def source(value = nil)
  @source ||= value
end
to_hash() click to toggle source
# File lib/rad_settings.rb, line 54
def to_hash
  Hash[self.instance]
end

Public Instance Methods

to_hash() click to toggle source
# File lib/rad_settings.rb, line 60
def to_hash
  Hash[self]
end