Class: Perennial::Settings
Constant Summary collapse
- @@verbose =
false- @@log_level =
:info- @@daemon =
false
Class Method Summary collapse
- .[](key) ⇒ Object
- .[]=(key, value) ⇒ Object
- .daemon? ⇒ Boolean
- .root ⇒ Object
- .root=(path) ⇒ Object
- .setup(options = {}) ⇒ Object
- .setup!(options = {}) ⇒ Object
- .setup? ⇒ Boolean
- .to_hash ⇒ Object
- .verbose? ⇒ Boolean
Class Method Details
.[](key) ⇒ Object
54 55 56 57 |
# File 'lib/perennial/settings.rb', line 54 def [](key) self.setup return self.configuration[key.to_sym] end |
.[]=(key, value) ⇒ Object
59 60 61 62 63 |
# File 'lib/perennial/settings.rb', line 59 def []=(key, value) self.setup self.configuration[key.to_sym] = value return value end |
.daemon? ⇒ Boolean
14 15 16 |
# File 'lib/perennial/settings.rb', line 14 def daemon? !!@@daemon end |
.root ⇒ Object
26 27 28 |
# File 'lib/perennial/settings.rb', line 26 def root @@root ||= File.(File.dirname(__FILE__) / ".." / "..") end |
.root=(path) ⇒ Object
22 23 24 |
# File 'lib/perennial/settings.rb', line 22 def root=(path) @@root = path.to_str end |
.setup(options = {}) ⇒ Object
34 35 36 |
# File 'lib/perennial/settings.rb', line 34 def setup( = {}) self.setup!() unless setup? end |
.setup!(options = {}) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/perennial/settings.rb', line 38 def setup!( = {}) @@configuration = {} settings_file = root / "config" / "settings.yml" if File.exist?(settings_file) loaded_yaml = YAML.load(File.read(settings_file)) @@configuration.merge! loaded_yaml["default"] end @@configuration.merge! @@configuration.symbolize_keys! # Generate a module mod = generate_settings_accessor_mixin extend mod include mod @@setup = true end |
.setup? ⇒ Boolean
30 31 32 |
# File 'lib/perennial/settings.rb', line 30 def setup? @@setup ||= false end |
.to_hash ⇒ Object
65 66 67 |
# File 'lib/perennial/settings.rb', line 65 def to_hash self.configuration.dup end |
.verbose? ⇒ Boolean
18 19 20 |
# File 'lib/perennial/settings.rb', line 18 def verbose? !!@@verbose end |