Sha256: eb4744c8fcd94e90cd971d0e02152980de411945400cb7f23aaa00cac055dde9

Contents?: true

Size: 790 Bytes

Versions: 3

Compression:

Stored size: 790 Bytes

Contents

require 'yaml'

module RubyApp
  require 'ruby_app/log'
  require 'ruby_app/mixins/delegate'
  require 'ruby_app/mixins/hash'

  class Configuration
    extend RubyApp::Mixins::Delegate

    attr_reader :document

    def self.get
      @@_configuration
    end

    def self.load(configuration_paths)
      @@_configuration = RubyApp::Configuration.new(configuration_paths)
    end

    def self.unload
      @@_configuration = nil
    end

    private

      def initialize(configuration_paths)

        @document = {}

        configuration_paths.each do |path|
          RubyApp::Log.debug("#{self.class}##{__method__}(...) path=#{path.inspect}")
          @document.merge!(YAML::load(File.open(path)))
        end

      end

  end

end

class Hash
  include RubyApp::Mixins::Hash
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
RubyApp-0.0.8 lib/ruby_app/configuration.rb
RubyApp-0.0.7 lib/ruby_app/configuration.rb
RubyApp-0.0.6 lib/ruby_app/configuration.rb