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, }.freeze, 'rel_time' => Validate::IsBoolean, }.freeze }.freeze
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
43 44 45 46 47 |
# File 'lib/icfs/config.rb', line 43 def initialize(defaults={}) @data = {} @unam = nil @defaults = defaults end |
Instance Attribute Details
#data ⇒ Object
The configuration values hash
53 54 55 |
# File 'lib/icfs/config.rb', line 53 def data @data end |
#defaults ⇒ Object (readonly)
The configuration defaults
59 60 61 |
# File 'lib/icfs/config.rb', line 59 def defaults @defaults end |
Instance Method Details
#get(key) ⇒ Object
Get a value
67 68 69 |
# File 'lib/icfs/config.rb', line 67 def get(key) @data.key?(key) ? @data[key] : @defaults[key] end |
#load(unam) ⇒ Boolean
Load a user configuration
98 |
# File 'lib/icfs/config.rb', line 98 def load(unam); raise NotImplementedError; end |
#save ⇒ Object
Save a user configuration
104 |
# File 'lib/icfs/config.rb', line 104 def save; raise NotImplementedError; end |
#set(key, val) ⇒ Object
Set a value
78 79 80 |
# File 'lib/icfs/config.rb', line 78 def set(key, val) @data[key] = val end |