class WhoAmI::Function::LoadConfig

Public Class Methods

new(root) click to toggle source
# File lib/who_am_i/function/load_config.rb, line 6
def initialize(root)
  @root = root
end

Public Instance Methods

call() click to toggle source
# File lib/who_am_i/function/load_config.rb, line 10
def call
  Config.new(loaded_configuration)
end

Private Instance Methods

deep_symbolize_hash(obj) click to toggle source
# File lib/who_am_i/function/load_config.rb, line 30
def deep_symbolize_hash(obj)
  if obj.is_a?(Hash)
    obj.map { |k, v| [k.to_sym, deep_symbolize_hash(v)] }.to_h
  else
    obj
  end
end
initializer_path() click to toggle source
# File lib/who_am_i/function/load_config.rb, line 26
def initializer_path
  File.join(@root, "config", "who_am_i.yml")
end
loaded_configuration() click to toggle source
# File lib/who_am_i/function/load_config.rb, line 16
def loaded_configuration
  @loaded_configuration ||=
    if File.exist?(initializer_path)
      contents = YAML.load_file(initializer_path)
      deep_symbolize_hash(contents)
    else
      {}
    end
end