class Settei::Base
Public Class Methods
new(config)
click to toggle source
@param config [Hash] configuration
# File lib/settei/base.rb, line 26 def initialize(config) if !config.is_a? Hash raise ArgumentError.new('config is not a hash') end self.config = config end
Public Instance Methods
dig_and_wrap(*args)
click to toggle source
Same as {#dig}, but will wrap return value as a {Settei::Base} if it is a hash.
# File lib/settei/base.rb, line 35 def dig_and_wrap(*args) result = dig(*args) if result.is_a?(Hash) self.class.new(result) else result end end
merge(*args)
click to toggle source
# File lib/settei/base.rb, line 44 def merge(*args) new_hash = @config.merge(*args) self.class.new(new_hash) end
Private Instance Methods
config=(config)
click to toggle source
# File lib/settei/base.rb, line 51 def config=(config) @config = config begin require "active_support/core_ext/hash/indifferent_access" @config = @config.with_indifferent_access rescue LoadError end end