class Configue::SourceLoader
Public Class Methods
new(loader, sources, namespace=nil, base_namespace=nil)
click to toggle source
# File lib/configue/source_loader.rb, line 7 def initialize(loader, sources, namespace=nil, base_namespace=nil) @loader = loader @sources = sources @namespace = namespace.to_s if namespace @basespace = base_namespace.to_s if base_namespace end
Public Instance Methods
load()
click to toggle source
# File lib/configue/source_loader.rb, line 14 def load @sources.each do |src| src.each {|k, v| __send__("load_#{k}", v) } end @container end
Protected Instance Methods
load_dir(dir)
click to toggle source
# File lib/configue/source_loader.rb, line 22 def load_dir(dir) Dir.glob("#{dir}/**/*.#{@loader.extention}") do |file| load_file(file) end end
load_file(file)
click to toggle source
# File lib/configue/source_loader.rb, line 28 def load_file(file) source = @loader.load(file) if @namespace and source[@namespace] namespaced_hash(source) else @container = Merger.merge(@container, source) end end
namespaced_hash(hash)
click to toggle source
# File lib/configue/source_loader.rb, line 37 def namespaced_hash(hash) if @basespace and hash.key?(@basespace) @container = Merger.merge(@container, @basespace => hash[@basespace]) end @container = Merger.merge(@container, @namespace => hash[@namespace]) end