module Rails::Command
Constants
Public class methods
Receives a namespace, arguments, and the behavior to invoke the command.
Source code GitHub
# File railties/lib/rails/command.rb, line 56
def invoke(full_namespace, args = [], **config)
args = ["--help"] if rails_new_with_no_path?(args)
full_namespace = full_namespace.to_s
namespace, command_name = split_namespace(full_namespace)
command = find_by_namespace(namespace, command_name)
with_argv(args) do
if command && command.all_commands[command_name]
command.perform(command_name, args, config)
else
invoke_rake(full_namespace, args, config)
end
end
rescue UnrecognizedCommandError => error
if error.name == full_namespace && command && command_name == full_namespace
command.perform("help", [], config)
else
puts error.detailed_message
end
exit(1)
end
Returns the root of the Rails engine or app running the command.
Source code GitHub
# File railties/lib/rails/command.rb, line 102
def root
if defined?(ENGINE_ROOT)
Pathname.new(ENGINE_ROOT)
else
application_root
end
end
Private class methods
Source code GitHub
# File railties/lib/rails/command.rb, line 153
def command_type # :doc:
@command_type ||= "command"
end
Source code GitHub
# File railties/lib/rails/command.rb, line 161
def file_lookup_paths # :doc:
@file_lookup_paths ||= [ "{#{lookup_paths.join(',')}}", "**", "*_command.rb" ]
end
Source code GitHub
# File railties/lib/rails/command.rb, line 157
def lookup_paths # :doc:
@lookup_paths ||= %w( rails/commands commands )
end
Namespace
Definition files
railties/
lib/ rails/ command.rb railties/
lib/ rails/ command/ actions.rb railties/
lib/ rails/ command/ base.rb railties/
lib/ rails/ command/ behavior.rb railties/
lib/ rails/ command/ environment_argument.rb
32 More Less
railties/
lib/ rails/ command/ helpers/ editor.rb railties/
lib/ rails/ commands/ about/ about_command.rb railties/
lib/ rails/ commands/ app/ update_command.rb railties/
lib/ rails/ commands/ application/ application_command.rb railties/
lib/ rails/ commands/ boot/ boot_command.rb railties/
lib/ rails/ commands/ console/ console_command.rb railties/
lib/ rails/ commands/ credentials/ credentials_command.rb railties/
lib/ rails/ commands/ credentials/ credentials_command/ diffing.rb railties/
lib/ rails/ commands/ db/ system/ change/ change_command.rb railties/
lib/ rails/ commands/ dbconsole/ dbconsole_command.rb railties/
lib/ rails/ commands/ destroy/ destroy_command.rb railties/
lib/ rails/ commands/ dev/ dev_command.rb railties/
lib/ rails/ commands/ devcontainer/ devcontainer_command.rb railties/
lib/ rails/ commands/ encrypted/ encrypted_command.rb railties/
lib/ rails/ commands/ gem_help/ gem_help_command.rb railties/
lib/ rails/ commands/ generate/ generate_command.rb railties/
lib/ rails/ commands/ help/ help_command.rb railties/
lib/ rails/ commands/ initializers/ initializers_command.rb railties/
lib/ rails/ commands/ middleware/ middleware_command.rb railties/
lib/ rails/ commands/ new/ new_command.rb railties/
lib/ rails/ commands/ notes/ notes_command.rb railties/
lib/ rails/ commands/ plugin/ plugin_command.rb railties/
lib/ rails/ commands/ rake/ rake_command.rb railties/
lib/ rails/ commands/ restart/ restart_command.rb railties/
lib/ rails/ commands/ routes/ routes_command.rb railties/
lib/ rails/ commands/ runner/ runner_command.rb railties/
lib/ rails/ commands/ secret/ secret_command.rb railties/
lib/ rails/ commands/ server/ server_command.rb railties/
lib/ rails/ commands/ stats/ stats_command.rb railties/
lib/ rails/ commands/ test/ test_command.rb railties/
lib/ rails/ commands/ unused_routes/ unused_routes_command.rb railties/
lib/ rails/ commands/ version/ version_command.rb