Class: Rails::Generator::Scripts::Base
- Includes:
- Options
- Defined in:
- lib/rails_generator/scripts.rb
Overview
Generator scripts handle command-line invocation. Each script responds to an invoke! class method which handles option parsing and generator invocation.
Instance Method Summary collapse
-
#run(args = [], runtime_options = {}) ⇒ Object
Run the generator script.
Instance Method Details
#run(args = [], runtime_options = {}) ⇒ Object
Run the generator script. Takes an array of unparsed arguments and a hash of parsed arguments, takes the generator as an option or first remaining argument, and invokes the requested command.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rails_generator/scripts.rb', line 17 def run(args = [], = {}) begin parse!(args.dup, ) rescue OptionParser::InvalidOption => e # Don't cry, script. Generators want what you think is invalid. end # Generator name is the only required option. unless [:generator] usage if args.empty? [:generator] ||= args.shift end # Look up generator instance and invoke command on it. Rails::Generator::Base.instance([:generator], args, ).command([:command]).invoke! rescue => e puts e puts " #{e.backtrace.join("\n ")}\n" if [:backtrace] raise SystemExit end |