module RubbyCop::ConfigLoaderResolver
A mixin to break up ConfigLoader
Public Instance Methods
resolve_inheritance(path, hash)
click to toggle source
# File lib/rubbycop/config_loader_resolver.rb, line 20 def resolve_inheritance(path, hash) base_configs(path, hash['inherit_from']).reverse_each do |base_config| base_config.each do |k, v| hash[k] = hash.key?(k) ? merge(v, hash[k]) : v if v.is_a?(Hash) end end end
resolve_inheritance_from_gems(hash, gems)
click to toggle source
# File lib/rubbycop/config_loader_resolver.rb, line 28 def resolve_inheritance_from_gems(hash, gems) (gems || {}).each_pair do |gem_name, config_path| if gem_name == 'rubbycop' raise ArgumentError, "can't inherit configuration from the rubbycop gem" end hash['inherit_from'] = Array(hash['inherit_from']) Array(config_path).reverse.each do |path| # Put gem configuration first so local configuration overrides it. hash['inherit_from'].unshift gem_config_path(gem_name, path) end end end
resolve_requires(path, hash)
click to toggle source
# File lib/rubbycop/config_loader_resolver.rb, line 9 def resolve_requires(path, hash) config_dir = File.dirname(path) Array(hash.delete('require')).each do |r| if r.start_with?('.') require(File.join(config_dir, r)) else require(r) end end end