Generator lookup is managed by a list of sources which return specs describing where to find and how to create generators. This module provides class methods for manipulating the source list and looking up generator specs, and an instance wrapper for quickly instantiating generators by name.
A spec is not a generator: it's a description of where to find the generator and how to create it. A source is anything that yields generators from each. PathSource and GemGeneratorSource are provided.
# File lib/rubigen/lookup.rb, line 50 def self.included(base) base.extend(ClassMethods) # base.use_component_sources! # TODO is this required since it has no scope/source context class << base class_attribute :_sources end end
Convenience method to instantiate another generator.
# File lib/rubigen/lookup.rb, line 60 def instance(generator_name, args, runtime_options = {}) self.class.active.instance(generator_name, args, runtime_options) end