mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
62 lines
1.7 KiB
Ruby
62 lines
1.7 KiB
Ruby
require "rails/commands/rake_proxy"
|
|
require "rails/commands/common_commands_tasks"
|
|
require "active_support/core_ext/string/strip"
|
|
|
|
module Rails
|
|
class Engine
|
|
class CommandsTasks # :nodoc:
|
|
include Rails::RakeProxy
|
|
include Rails::CommonCommandsTasks
|
|
|
|
attr_reader :argv
|
|
|
|
def initialize(argv)
|
|
@argv = argv
|
|
end
|
|
|
|
private
|
|
|
|
def commands
|
|
formatted_rake_tasks
|
|
end
|
|
|
|
def command_whitelist
|
|
%w(generate destroy version help test)
|
|
end
|
|
|
|
def help_message
|
|
<<-EOT.strip_heredoc
|
|
Usage: bin/rails COMMAND [ARGS]
|
|
|
|
The common Rails commands available for engines are:
|
|
generate Generate new code (short-cut alias: "g")
|
|
destroy Undo code generated with "generate" (short-cut alias: "d")
|
|
test Run tests (short-cut alias: "t")
|
|
|
|
All commands can be run with -h for more information.
|
|
|
|
If you want to run any commands that need to be run in context
|
|
of the application, like `rails server` or `rails console`,
|
|
you should do it from application's directory (typically test/dummy).
|
|
|
|
In addition to those commands, there are:
|
|
EOT
|
|
end
|
|
|
|
def require_application_and_environment!
|
|
require ENGINE_PATH
|
|
end
|
|
|
|
def load_tasks
|
|
Rake.application.init("rails")
|
|
Rake.application.load_rakefile
|
|
end
|
|
|
|
def load_generators
|
|
engine = ::Rails::Engine.find(ENGINE_ROOT)
|
|
Rails::Generators.namespace = engine.railtie_namespace
|
|
engine.load_generators
|
|
end
|
|
end
|
|
end
|
|
end
|