Sha256: 0bad68b71db719f831f974d1ce363f48407c076be63526e7cdf4841cd25503bd

Contents?: true

Size: 743 Bytes

Versions: 15

Compression:

Stored size: 743 Bytes

Contents

require 'active_support/lazy_load_hooks'
require 'active_support/core_ext/hash/indifferent_access'

module ActiveRecord::Turntable
  class Config
    include Singleton

    def self.[](key)
      instance[key]
    end

    def [](key)
      self.class.load!(ActiveRecord::Base.turntable_config_file) unless @config
      @config[key]
    end

    def self.load!(config_file = ActiveRecord::Base.turntable_config_file, env = (defined?(Rails) ? Rails.env : 'development'))
      instance.load!(config_file, env)
    end

    def load!(config_file, env)
      @config = YAML.load(ERB.new(IO.read(config_file)).result).with_indifferent_access[env]
      ActiveSupport.run_load_hooks(:turntable_config_loaded, ActiveRecord::Base)
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
activerecord-turntable-2.5.0 lib/active_record/turntable/config.rb
activerecord-turntable-2.4.0 lib/active_record/turntable/config.rb
activerecord-turntable-2.3.3 lib/active_record/turntable/config.rb
activerecord-turntable-2.3.2 lib/active_record/turntable/config.rb
activerecord-turntable-2.3.1 lib/active_record/turntable/config.rb
activerecord-turntable-2.3.0 lib/active_record/turntable/config.rb
activerecord-turntable-2.2.2 lib/active_record/turntable/config.rb
activerecord-turntable-2.2.1 lib/active_record/turntable/config.rb
activerecord-turntable-2.2.0 lib/active_record/turntable/config.rb
activerecord-turntable-2.1.1 lib/active_record/turntable/config.rb
activerecord-turntable-2.1.0 lib/active_record/turntable/config.rb
activerecord-turntable-2.1.0.rc2 lib/active_record/turntable/config.rb
activerecord-turntable-2.1.0.rc1 lib/active_record/turntable/config.rb
activerecord-turntable-2.1.0.beta2 lib/active_record/turntable/config.rb
activerecord-turntable-2.1.0.beta1 lib/active_record/turntable/config.rb