class Gem::Release::Config

def [](key)

def [](key)
  opts[key]
end

def common

def common
  opts.reject { |_, value| value.is_a?(Hash) }
end

def for(key)

def for(key)
  common.merge(self[key] || {})
end

def initialize

def initialize
  @opts = load
end

def load

def load
  opts = sources.map(&:load)
  opts.inject { |one, other| deep_merge(one, other) }
end

def sources

def sources
  SOURCES.map(&:new)
end