class method
self.invoke
Ruby on Rails 7.0.10
Since v3.0.20Signature
self.invoke(namespace, args = ARGV, config = {})
Receives a namespace, arguments, and the behavior to invoke the generator. It’s used as the default entry point for generate, destroy, and update commands.
Parameters
-
namespacereq -
argsopt = ARGV -
configopt = {}
Source
# File railties/lib/rails/generators.rb, line 259
def invoke(namespace, args = ARGV, config = {})
names = namespace.to_s.split(":")
if klass = find_by_namespace(names.pop, names.any? && names.join(":"))
args << "--help" if args.empty? && klass.arguments.any?(&:required?)
klass.start(args, config)
run_after_generate_callback if config[:behavior] == :invoke
else
options = sorted_groups.flat_map(&:last)
error = Command::Base::CorrectableError.new("Could not find generator '#{namespace}'.", namespace, options)
if error.respond_to?(:detailed_message)
formatted_message = error.detailed_message
else
formatted_message = error.message
end
puts <<~MSG
#{formatted_message}
Run `bin/rails generate --help` for more options.
MSG
end
end
Defined in railties/lib/rails/generators.rb line 259
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Rails::Generators