Class: ICFS::Config Abstract
- Inherits:
-
Object
- Object
- ICFS::Config
- Defined in:
- lib/icfs/config.rb
Overview
This class is abstract.
Configuration storage interface
Direct Known Subclasses
Constant Summary collapse
- ValConfig =
Valid config options
{ method: :hash, optional: { 'tz' => { method: :string, valid: /[+\-](0[0-9]|1[0-2]):[0-5][0-9]/.freeze, whitelist: true, } } }
Instance Attribute Summary collapse
-
#data ⇒ Object
The configuration values hash.
-
#defaults ⇒ Object
readonly
The configuration defaults.
Instance Method Summary collapse
-
#get(key) ⇒ Object
Get a value.
-
#initialize(defaults = {}) ⇒ Config
constructor
New instance.
-
#load(unam) ⇒ Boolean
Load a user configuration.
-
#save ⇒ Object
Save a user configuration.
-
#set(key, val) ⇒ Object
Set a value.
Constructor Details
#initialize(defaults = {}) ⇒ Config
New instance
42 43 44 45 46 |
# File 'lib/icfs/config.rb', line 42 def initialize(defaults={}) @data = {} @unam = nil @defaults = defaults end |
Instance Attribute Details
#data ⇒ Object
The configuration values hash
52 53 54 |
# File 'lib/icfs/config.rb', line 52 def data @data end |
#defaults ⇒ Object (readonly)
The configuration defaults
58 59 60 |
# File 'lib/icfs/config.rb', line 58 def defaults @defaults end |
Instance Method Details
#get(key) ⇒ Object
Get a value
66 67 68 |
# File 'lib/icfs/config.rb', line 66 def get(key) @data.key?(key) ? @data[key] : @defaults[key] end |
#load(unam) ⇒ Boolean
Load a user configuration
97 |
# File 'lib/icfs/config.rb', line 97 def load(unam); raise NotImplementedError; end |
#save ⇒ Object
Save a user configuration
103 |
# File 'lib/icfs/config.rb', line 103 def save; raise NotImplementedError; end |
#set(key, val) ⇒ Object
Set a value
77 78 79 |
# File 'lib/icfs/config.rb', line 77 def set(key, val) @data[key] = val end |