class Michael::Services::Configuration
Attributes
config[R]
Public Class Methods
new(config)
click to toggle source
# File lib/michael/services/configuration.rb, line 10 def initialize(config) raise Error, 'configuration is not initialized' if config.nil? @config = config end
Public Instance Methods
append(*values, to: nil)
click to toggle source
# File lib/michael/services/configuration.rb, line 20 def append(*values, to: nil) interact(:append, *values, to: to) end
fetch(*keys, default: nil)
click to toggle source
# File lib/michael/services/configuration.rb, line 24 def fetch(*keys, default: nil) interact(:fetch, *keys, default: default) end
remove(*values, from: nil)
click to toggle source
# File lib/michael/services/configuration.rb, line 28 def remove(*values, from: nil) interact(:remove, *values, from: from) end
set(*keys, value: nil)
click to toggle source
# File lib/michael/services/configuration.rb, line 16 def set(*keys, value: nil) interact(:set, *keys, value: value) end
Private Instance Methods
interact(symbol, *args)
click to toggle source
# File lib/michael/services/configuration.rb, line 34 def interact(symbol, *args) config.read if config.exist? resp = config.public_send(symbol, *args) config.write(force: true) resp end