Namespace
Module
Class
Methods
Constants
HELP_MAPPINGS | = | %w(-h -? --help).to_set |
VERSION_MAPPINGS | = | %w(-v --version).to_set |
Class Public methods
invoke(full_namespace, args = [], **config)
Receives a namespace, arguments, and the behavior to invoke the command.
📝 Source code
# File railties/lib/rails/command.rb, line 62
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
🔎 See on GitHub
root()
Returns the root of the Rails engine or app running the command.
📝 Source code
# File railties/lib/rails/command.rb, line 108
def root
if defined?(ENGINE_ROOT)
Pathname.new(ENGINE_ROOT)
else
application_root
end
end
🔎 See on GitHub
Class Private methods
command_type()
📝 Source code
# File railties/lib/rails/command.rb, line 159
def command_type # :doc:
@command_type ||= "command"
end
🔎 See on GitHub
file_lookup_paths()
📝 Source code
# File railties/lib/rails/command.rb, line 167
def file_lookup_paths # :doc:
@file_lookup_paths ||= [ "{#{lookup_paths.join(',')}}", "**", "*_command.rb" ]
end
🔎 See on GitHub
lookup_paths()
📝 Source code
# File railties/lib/rails/command.rb, line 163
def lookup_paths # :doc:
@lookup_paths ||= %w( rails/commands commands )
end
🔎 See on GitHub