Sha256: 091b2564bd1bbeb39c19869e86e80816e4a01dd19e627d7b79263073632d2b8a

Contents?: true

Size: 851 Bytes

Versions: 7

Compression:

Stored size: 851 Bytes

Contents

require 'yaml'

module RubyApp
  require 'ruby_app/application'
  require 'ruby_app/log'
  require 'ruby_app/mixins/delegate_mixin'
  require 'ruby_app/mixins/hash_mixin'

  class Configuration
    extend RubyApp::Mixins::DelegateMixin

    attr_reader :document

    def self.get
      @@_configuration
    end

    def self.load!
      @@_configuration = RubyApp::Configuration.new(RubyApp::Application.options.configuration_paths)
      RubyApp::Log.debug("#{self}##{__method__} paths=#{RubyApp::Application.options.configuration_paths.inspect}")
    end

    def self.unload!
      RubyApp::Log.debug("#{self}##{__method__}")
      @@_configuration = nil
    end

    private

      def initialize(paths)
        @document = {}
        paths.each do |path|
          @document.merge!(YAML::load(File.open(path)))
        end
      end

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
RubyApp-0.0.58 lib/ruby_app/configuration.rb
RubyApp-0.0.57 lib/ruby_app/configuration.rb
RubyApp-0.0.56 lib/ruby_app/configuration.rb
RubyApp-0.0.55 lib/ruby_app/configuration.rb
RubyApp-0.0.54 lib/ruby_app/configuration.rb
RubyApp-0.0.53 lib/ruby_app/configuration.rb
RubyApp-0.0.52 lib/ruby_app/configuration.rb