Method: Rails::Generators::Actions#rails_command

Defined in:
railties/lib/rails/generators/actions.rb

#rails_command(command, options = {}) ⇒ Object

Runs the specified Rails command.

rails_command "db:migrate"
rails_command "db:migrate", env: "production"
rails_command "db:migrate", abort_on_failure: true
rails_command "stats", capture: true
rails_command "gems:install", sudo: true

Options

:env

The Rails environment in which to run the command. Defaults to ENV["RAILS_ENV"] || "development".

:abort_on_failure

Whether to halt the generator if the command exits with a non-success exit status.

:capture

Whether to capture and return the output of the command.

:sudo

Whether to run the command using sudo.



391
392
393
394
395
396
397
398
399
400
401
402
403
# File 'railties/lib/rails/generators/actions.rb', line 391

def rails_command(command, options = {})
  if options[:inline]
    log :rails, command
    command, *args = Shellwords.split(command)
    in_root do
      silence_warnings do
        ::Rails::Command.invoke(command, args, **options)
      end
    end
  else
    execute_command :rails, command, options
  end
end