instance method
run_generator
Ruby on Rails 8.1.2
Since v7.1.6Signature
run_generator(args = default_arguments, config = {})
Runs the generator configured for this class. The first argument is an array like command line arguments:
class AppGeneratorTest < Rails::Generators::TestCase tests AppGenerator destination File.expand_path("../tmp", __dir__) setup :prepare_destination test "database.yml is not created when skipping Active Record" do run_generator %w(myapp --skip-active-record) assert_no_file "config/database.yml" end end
You can provide a configuration hash as second argument. This method returns the output printed by the generator.
Parameters
-
argsopt = default_arguments -
configopt = {}
Source
# File railties/lib/rails/generators/testing/behavior.rb, line 64
def run_generator(args = default_arguments, config = {})
args += ["--skip-bundle"] unless args.include?("--no-skip-bundle") || args.include?("--dev")
args += ["--skip-bootsnap"] unless args.include?("--no-skip-bootsnap") || args.include?("--skip-bootsnap")
if ENV["RAILS_LOG_TO_STDOUT"] == "true"
generator_class.start(args, config.reverse_merge(destination_root: destination_root))
else
capture(:stdout) do
generator_class.start(args, config.reverse_merge(destination_root: destination_root))
end
end
end
Defined in railties/lib/rails/generators/testing/behavior.rb line 64
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Rails::Generators::Testing::Behavior