Sha256: c231d633a59caefd790279dd63da0c47df95793da0e3135544ebbff95184d436
Contents?: true
Size: 883 Bytes
Versions: 1
Compression:
Stored size: 883 Bytes
Contents
require "digest/md5" module RailsSettings class Default < ::Hash class MissingKey < StandardError; end class << self def enabled? source_path && File.exist?(source_path) end def source(value = nil) @source ||= value end def source_path @source || "config/app.yml" end def [](key) # foo.bar.dar Nested fetch value return instance[key] if instance.key?(key) keys = key.to_s.split(".") instance.dig(*keys) end def instance return @instance if defined? @instance @instance = new end end def initialize content = open(self.class.source_path).read hash = content.empty? ? {} : YAML.load(ERB.new(content).result).to_hash hash = hash[Sinatra::Application.environment.to_s] || {} replace hash end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jdx-rails-settings-0.7.4 | lib/rails-settings/default.rb |