Sha256: 3bcac0123454b850b3a602c79dd577507c6773b4d7b1580f5017e8753450a2c6
Contents?: true
Size: 904 Bytes
Versions: 2
Compression:
Stored size: 904 Bytes
Contents
module Mire # load configuration class Configuration FILE = '.mire.yml' class << self def copy_example fail ExistingFile if File.exist?(FILE) FileUtils.cp(example_file, FILE) end private def example_file File.join(File.dirname(__FILE__), 'configuration_example.yml') end end def initialize @config = if File.exist?(FILE) symbolize_keys(YAML.load_file(FILE)) else {} end end def read(*args) args.reduce(@config) do |c, key| return nil unless c c[key] end end private def symbolize_keys(hash) hash.each_with_object({}) do |(key, value), result| result[key.to_sym] = value.is_a?(Hash) ? symbolize_keys(value) : value end end class ExistingFile < StandardError; end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mire-0.1.2 | lib/mire/configuration.rb |
mire-0.1.1 | lib/mire/configuration.rb |