module Adhearsion::Generators
Public Class Methods
add_generator(name, klass)
click to toggle source
Globally add a new generator class to +ahn generate+
@param [Symbol] name key name for generator mapping @param [Class] klass class of generator
@return [Hash] generator mappings
@example
Adhearsion::Generators.add_generator :myplugin, MyPluginGenerator
# File lib/adhearsion/generators.rb, line 47 def add_generator(name, klass) mappings[name] = klass end
help(command = 'generate')
click to toggle source
Show help message with available generators.
# File lib/adhearsion/generators.rb, line 10 def help(command = 'generate') "".tap do |h| h << "Available generators:\n" mappings.each_pair do |name, klass| h << "* " << klass.desc << "\n" end end end
invoke(generator_name, args = ARGV)
click to toggle source
# File lib/adhearsion/generators.rb, line 20 def invoke(generator_name, args = ARGV) klass = Generators.mappings[generator_name.to_sym] raise CLI::UnknownGeneratorError, generator_name unless klass args << "--help" if args.empty? && klass.arguments.any?(&:required?) klass.start args end
mappings()
click to toggle source
Return a ordered list of task with their class
# File lib/adhearsion/generators.rb, line 32 def mappings @_mappings ||= Hash.new end