class Md2key::ConfigLoader
Public Class Methods
load(*paths)
click to toggle source
@param [Array<String>] paths - paths of YAML configs. Latter config overwrites former ones.
# File lib/md2key/config_loader.rb, line 7 def load(*paths) hash = {} paths.each do |path| hash.merge!(load_if_available(File.expand_path(path))) end Configuration.new(**symbolize_keys(hash)) end
Private Class Methods
load_if_available(path)
click to toggle source
# File lib/md2key/config_loader.rb, line 17 def load_if_available(path) if File.exist?(path) YAML.load(File.read(path)) else {} end end
symbolize_keys(object)
click to toggle source
# File lib/md2key/config_loader.rb, line 25 def symbolize_keys(object) case object when Hash Hash.new.tap do |result| object.each do |key, value| result[key.to_sym] = symbolize_keys(value) end end when Array object.map(&method(:symbolize_keys)) else object end end