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