Sha256: 049814cd3f0b89004e2b8a416c553ae14fe3cb71716c1a191d5ca7bddbf8107b

Contents?: true

Size: 670 Bytes

Versions: 153

Compression:

Stored size: 670 Bytes

Contents

require 'yaml'

module RubyApp
  require 'ruby_app/mixins'

  class Configuration
    extend RubyApp::Mixins::DelegateMixin

    attr_reader :document

    def self.get
      @@_configuration ||= nil
    end

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

    def self.unload!
      @@_configuration = nil
    end

    private

      def initialize(paths)
        @document = {}
        paths.each do |path|
          File.open(path, 'r') do |file|
            @document.merge!(YAML::load(file)[ENV['RUBY_APP_CONFIGURATION'] || 'default'] || {})
          end
        end
        @document.symbolize!
      end

  end

end

Version data entries

153 entries across 153 versions & 1 rubygems

Version Path
RubyApp-0.7.16 lib/ruby_app/configuration.rb
RubyApp-0.7.15 lib/ruby_app/configuration.rb
RubyApp-0.7.14 lib/ruby_app/configuration.rb
RubyApp-0.7.13 lib/ruby_app/configuration.rb
RubyApp-0.7.12 lib/ruby_app/configuration.rb
RubyApp-0.7.11 lib/ruby_app/configuration.rb
RubyApp-0.7.10 lib/ruby_app/configuration.rb
RubyApp-0.7.9 lib/ruby_app/configuration.rb
RubyApp-0.7.5 lib/ruby_app/configuration.rb
RubyApp-0.7.4 lib/ruby_app/configuration.rb
RubyApp-0.7.3 lib/ruby_app/configuration.rb
RubyApp-0.7.2 lib/ruby_app/configuration.rb
RubyApp-0.7.1 lib/ruby_app/configuration.rb
RubyApp-0.7.0 lib/ruby_app/configuration.rb
RubyApp-0.6.71 lib/ruby_app/configuration.rb
RubyApp-0.6.70 lib/ruby_app/configuration.rb
RubyApp-0.6.69 lib/ruby_app/configuration.rb
RubyApp-0.6.68 lib/ruby_app/configuration.rb
RubyApp-0.6.67 lib/ruby_app/configuration.rb
RubyApp-0.6.66 lib/ruby_app/configuration.rb