Module: Roger::Generators
- Defined in:
- lib/roger/generators.rb
Overview
Generators namespace
Defined Under Namespace
Classes: Base, GeneratorGenerator, NewGenerator
Class Method Summary collapse
Class Method Details
.generator_name(name, klass) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/roger/generators.rb', line 27 def self.generator_name(name, klass) # Hack to not break old tasks if name.is_a?(Class) klass = name name = klass.to_s.sub(/Generator$/, "").sub(/^.*Generators::/, "").downcase else raise ArgumentError, "Name must be a symbol" unless name.is_a?(Symbol) end [name.to_s, klass] end |
.register(name, klass = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/roger/generators.rb', line 12 def self.register(name, klass = nil) name, klass = generator_name(name, klass) raise( ArgumentError, "Generator name '#{name.inspect}' already in use" ) if Cli::Generate.tasks.key?(name) usage = "#{name} #{klass.arguments.map(&:banner).join(' ')}" long_desc = klass.desc || "Run #{name} generator" Cli::Generate.register klass, name, usage, long_desc Cli::Generate.tasks[name]. = klass. if klass. end |