lib/sfn/command.rb in sfn-0.5.0 vs lib/sfn/command.rb in sfn-1.0.0

- old
+ new

@@ -16,12 +16,11 @@ autoload :Update, 'sfn/command/update' autoload :Validate, 'sfn/command/validate' # Override to provide config file searching def initialize(cli_opts, args) - unless(cli_opts[:config]) - cli_opts = cli_opts.to_hash.to_smash(:snake) + unless(cli_opts['config']) discover_config(cli_opts) end super(cli_opts, args) end @@ -35,17 +34,21 @@ protected # Start with current working directory and traverse to root # looking for a `.sfn` configuration file # - # @param opts [Smash] - # @return [Smash] + # @param opts [Slop] + # @return [Slop] def discover_config(opts) cwd = Dir.pwd.split(File::SEPARATOR) until(cwd.empty? || File.exists?(cwd.push('.sfn').join(File::SEPARATOR))) cwd.pop(2) end - opts[:config] = cwd.join(File::SEPARATOR) unless cwd.empty? + if(opts.respond_to?(:fetch_option)) + opts.fetch_option('config').value = cwd.join(File::SEPARATOR) unless cwd.empty? + else + opts['config'] = cwd.join(File::SEPARATOR) unless cwd.empty? + end opts end # @return [Class] attempt to return customized configuration class def config_class