Spec-Zone.ru › Ruby on Rails 5.2

модуль Rails::Command

Константы

HELP_MAPPINGS

Публичные методы класса

invoke(full_namespace, args = [], **config) Показать исходный код
# File railties/lib/rails/command.rb, line 32
def invoke(full_namespace, args = [], **config)
  namespace = full_namespace = full_namespace.to_s

  if char = namespace =~ /:(\w+)$/
    command_name, namespace = $1, namespace.slice(0, char)
  else
    command_name = namespace
  end

  command_name, namespace = "help", "help" if command_name.blank? || HELP_MAPPINGS.include?(command_name)
  command_name, namespace = "version", "version" if %w( -v --version ).include?(command_name)

  command = find_by_namespace(namespace, command_name)
  if command && command.all_commands[command_name]
    command.perform(command_name, args, config)
  else
    find_by_namespace("rake").perform(full_namespace, args, config)
  end
end

Получает имя пространства имен, аргументы и поведение для вызова команды.

root() Показать исходный код
# File railties/lib/rails/command.rb, line 77
def root
  if defined?(ENGINE_ROOT)
    Pathname.new(ENGINE_ROOT)
  elsif defined?(APP_PATH)
    Pathname.new(File.expand_path("../..", APP_PATH))
  end
end

Возвращает корень Rails-движка или приложения, выполняющего команду.

Приватные методы класса

command_type() Показать исходный код
# File railties/lib/rails/command.rb, line 100
def command_type # :doc:
  @command_type ||= "command"
end
file_lookup_paths() Показать исходный код
# File railties/lib/rails/command.rb, line 108
def file_lookup_paths # :doc:
  @file_lookup_paths ||= [ "{#{lookup_paths.join(',')}}", "**", "*_command.rb" ]
end
lookup_paths() Показать исходный код
# File railties/lib/rails/command.rb, line 104
def lookup_paths # :doc:
  @lookup_paths ||= %w( rails/commands commands )
end

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API