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.
This commit is contained in:
Kasper Timm Hansen 2016-03-10 21:34:34 +01:00
parent 1e4de9bf9e
commit 264222bc44
2 changed files with 2 additions and 72 deletions

View File

@ -1,70 +0,0 @@
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

View File

@ -13,6 +13,6 @@ aliases = {
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)