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