Perhaps something like:

``` ruby
def config_files(override)
  source = find_source(override)
  config_files = find_config_files(override, source)
end

def find_source(override)
  override['source'] || self['source'] || DEFAULTS['source']
end

def find_config_files(override, source)
  config_files = override.delete('config')
  config_files = File.join(source, "_config.yml") if config_files.to_s.empty?
  config_files = [config_files] unless config_files.is_a? Array
end
```

would make this better?