class Poper::ConfigFile
Constants
- EMPTY
Public Class Methods
new(path = '.poper.yml')
click to toggle source
# File lib/poper/config_file.rb, line 25 def initialize(path = '.poper.yml') @path = path end
Public Instance Methods
to_h()
click to toggle source
# File lib/poper/config_file.rb, line 29 def to_h hash = File.exist?(@path) ? YAML.load_file(@path) : {} deep_merge(hash) end
Private Instance Methods
deep_merge(hash)
click to toggle source
# File lib/poper/config_file.rb, line 36 def deep_merge(hash) merger = proc do |_, oldval, newval| if oldval.is_a?(Hash) && newval.is_a?(Hash) oldval.merge(newval, &merger) else oldval.nil? ? newval : oldval end end hash.merge(EMPTY, &merger) end