Class: Armoire

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/armoire.rb,
lib/armoire/railtie.rb,
lib/armoire/setting.rb,
lib/armoire/version.rb

Defined Under Namespace

Classes: ConfigSettingMissing, MissingSettingsFile, Railtie, Setting

Constant Summary collapse

VERSION =
"1.2.1"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#settingsObject

Returns the value of attribute settings.



17
18
19
# File 'lib/armoire.rb', line 17

def settings
  @settings
end

Class Method Details

.[](key) ⇒ Object



23
24
25
# File 'lib/armoire.rb', line 23

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

.load!(path_to_config_file) ⇒ Object



27
28
29
# File 'lib/armoire.rb', line 27

def self.load!(path_to_config_file)
  instance.settings = Setting.new(instance.load_settings(path_to_config_file))
end

Instance Method Details

#environmentObject



19
20
21
# File 'lib/armoire.rb', line 19

def environment
  ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
end

#load_settings(path_to_config_file) ⇒ Object



31
32
33
34
35
# File 'lib/armoire.rb', line 31

def load_settings(path_to_config_file)
  YAML.load(ERB.new(File.read(path_to_config_file)).result)[environment]
rescue Errno::ENOENT => e
  raise MissingSettingsFile.new('The settings file cannot be found')
end