Class: RailsSettings::Default
- Inherits:
-
Hash
- Object
- Hash
- RailsSettings::Default
- Defined in:
- lib/rails-settings/default.rb
Defined Under Namespace
Classes: MissingKey
Class Method Summary collapse
- .[](key) ⇒ Object
- .enabled? ⇒ Boolean
- .instance ⇒ Object
- .source(value = nil) ⇒ Object
- .source_path ⇒ Object
Instance Method Summary collapse
-
#initialize ⇒ Default
constructor
A new instance of Default.
Constructor Details
#initialize ⇒ Default
Returns a new instance of Default.
36 37 38 39 40 41 |
# File 'lib/rails-settings/default.rb', line 36 def initialize content = open(self.class.source_path).read hash = content.empty? ? {} : YAML.load(ERB.new(content).result).to_hash hash = hash[Rails.env] || {} self.replace hash end |
Class Method Details
.[](key) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rails-settings/default.rb', line 18 def [](key) # foo.bar.dar Nested fetch value keys = key.to_s.split('.') val = instance keys.each do |k| val = val.fetch(k.to_s, nil) break if val.nil? end val end |
.enabled? ⇒ Boolean
6 7 8 |
# File 'lib/rails-settings/default.rb', line 6 def enabled? source_path && File.exists?(source_path) end |
.instance ⇒ Object
29 30 31 32 33 |
# File 'lib/rails-settings/default.rb', line 29 def instance return @instance if defined? @instance @instance = new @instance end |
.source(value = nil) ⇒ Object
10 11 12 |
# File 'lib/rails-settings/default.rb', line 10 def source(value = nil) @source ||= value end |
.source_path ⇒ Object
14 15 16 |
# File 'lib/rails-settings/default.rb', line 14 def source_path @source || Rails.root.join('config/app.yml') end |