Sha256: 2d2b14252a4c15752f50c9927d45ebc9714810dad9fe4381c81821b3c6fa347b
Contents?: true
Size: 694 Bytes
Versions: 4
Compression:
Stored size: 694 Bytes
Contents
require_relative 'config/env' require_relative 'config/files' require_relative 'helper/hash' module Gem module Release class Config include Helper::Hash attr_reader :opts SOURCES = [Env, Files] def initialize @opts = load end def [](key) opts[key] end def for(key) common.merge(self[key] || {}) end def common opts.reject { |_, value| value.is_a?(Hash) } end private def load opts = sources.map(&:load) opts.inject { |one, other| deep_merge(one, other) } end def sources SOURCES.map(&:new) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems