class Ecogem::Util::Config
Public Class Methods
entries()
click to toggle source
# File lib/ecogem/util/config.rb, line 32 def self.entries @entries ||= {} end
entry(key)
click to toggle source
# File lib/ecogem/util/config.rb, line 19 def self.entry(key) e = ::Ecogem::Util::Config::Entry.create(self, key) entries[key] = e end
entry_namespace(ns)
click to toggle source
# File lib/ecogem/util/config.rb, line 15 def self.entry_namespace(ns) entry_namespaces << ns end
entry_namespaces()
click to toggle source
# File lib/ecogem/util/config.rb, line 11 def self.entry_namespaces @entry_namespaces ||= [] end
find_entry_class(key)
click to toggle source
# File lib/ecogem/util/config.rb, line 24 def self.find_entry_class(key) pascal = key.to_s.split(/_/).map{|i| i[0].upcase + i[1..-1]}.join('') entry_namespaces.reverse.each do |ns| return ns.const_get(pascal, false) if ns.const_defined?(pascal, false) end nil end
new(base, path)
click to toggle source
# File lib/ecogem/util/config.rb, line 36 def initialize(base, path) @base = base @path = ::File.expand_path(path) end
Public Instance Methods
dir()
click to toggle source
# File lib/ecogem/util/config.rb, line 41 def dir @dir ||= ::File.dirname(@path) end
save()
click to toggle source
# File lib/ecogem/util/config.rb, line 57 def save ::File.write @path, value_container.values_to_h.to_yaml end
values()
click to toggle source
# File lib/ecogem/util/config.rb, line 49 def values @values ||= value_container.proxy end
Protected Instance Methods
value_container()
click to toggle source
# File lib/ecogem/util/config.rb, line 45 def value_container @value_conatiner ||= ::Ecogem::Util::Config::ValueContainer.new(@base && @base.value_container, self, load || {}) end
Private Instance Methods
load()
click to toggle source
# File lib/ecogem/util/config.rb, line 53 def load ::YAML.load(::File.read(@path)) if ::File.file?(@path) end