提交 82f59a98 编写于 作者: A Aaron Patterson

pass argv to each method that mutates it

上级 a27d2d74
......@@ -312,19 +312,17 @@ def get_builder_class
# This class should be called before the AppGenerator is required and started
# since it configures and mutates ARGV correctly.
class ARGVScrubber # :nodoc
attr_reader :argv
def initialize(argv = ARGV)
@argv = argv.dup
end
def prepare!
handle_version_request!(argv.first)
unless handle_invalid_command!(argv.first)
argv.shift
handle_rails_rc!
handle_version_request!(@argv.first)
unless handle_invalid_command!(@argv.first, @argv)
@argv.shift
handle_rails_rc!(@argv)
end
argv
@argv
end
def self.default_rc_file
......@@ -341,19 +339,19 @@ def handle_version_request!(argument)
end
end
def handle_invalid_command!(argument)
def handle_invalid_command!(argument, argv)
if argument != "new"
argv[0] = "--help"
end
end
def handle_rails_rc!
def handle_rails_rc!(argv)
unless argv.delete("--no-rc")
insert_railsrc_into_argv!(railsrc)
insert_railsrc_into_argv!(argv, railsrc(argv))
end
end
def railsrc
def railsrc(argv)
if (customrc = argv.index{ |x| x.include?("--rc=") })
File.expand_path(argv.delete_at(customrc).gsub(/--rc=/, ""))
else
......@@ -361,7 +359,7 @@ def railsrc
end
end
def insert_railsrc_into_argv!(railsrc)
def insert_railsrc_into_argv!(argv, railsrc)
if File.exist?(railsrc)
extra_args_string = File.read(railsrc)
extra_args = extra_args_string.split(/\n+/).map {|l| l.split}.flatten
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册