提交 264222bc 编写于 作者: K Kasper Timm Hansen

Remove unfinished command infrastructure.

If we're gonna do this right, it will look mighty different from this anyway.
(Looking at you, Rails 5.1).

It isn't being used in any code as of now, so yanking is the best option.
上级 1e4de9bf
require 'rails/commands/commands_tasks'
module Rails
class Command #:nodoc:
attr_reader :argv
def initialize(argv = [])
@argv = argv
@option_parser = build_option_parser
@options = {}
end
def self.run(task_name, argv)
command_name = command_name_for(task_name)
if command = command_for(command_name)
command.new(argv).run(command_name)
else
Rails::CommandsTasks.new(argv).run_command!(task_name)
end
end
def run(command_name)
parse_options_for(command_name)
@option_parser.parse! @argv
public_send(command_name)
end
def self.options_for(command_name, &options_to_parse)
@@command_options[command_name] = options_to_parse
end
def self.set_banner(command_name, banner)
options_for(command_name) { |opts, _| opts.banner = banner }
end
private
@@commands = []
@@command_options = {}
def parse_options_for(command_name)
@@command_options.fetch(command_name, proc {}).call(@option_parser, @options)
end
def build_option_parser
OptionParser.new do |opts|
opts.on('-h', '--help', 'Show this help.') do
puts opts
exit
end
end
end
def self.inherited(command)
@@commands << command
end
def self.command_name_for(task_name)
task_name.gsub(':', '_').to_sym
end
def self.command_for(command_name)
@@commands.find do |command|
command.public_instance_methods.include?(command_name)
end
end
end
end
......@@ -13,6 +13,6 @@
command = ARGV.shift
command = aliases[command] || command
require 'rails/command'
require 'rails/commands/commands_tasks'
Rails::Command.run(command, ARGV)
Rails::CommandsTasks.new(ARGV).run_command!(command)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册