Class: RubiGen::Source
- Includes:
- Enumerable
- Defined in:
- lib/rubigen/lookup.rb
Overview
Sources enumerate (yield from #each) generator specs which describe where to find and how to create generators. Enumerable is mixed in so, for example, source.collect will retrieve every generator. Sources may be assigned a label to distinguish them.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#label ⇒ Object
readonly
Returns the value of attribute label.
Instance Method Summary collapse
-
#each ⇒ Object
The each method must be implemented in subclasses.
-
#initialize(label) ⇒ Source
constructor
A new instance of Source.
-
#names(filter = nil) ⇒ Object
Return a convenient sorted list of all generator names.
Constructor Details
#initialize(label) ⇒ Source
Returns a new instance of Source.
189 190 191 |
# File 'lib/rubigen/lookup.rb', line 189 def initialize(label) @label = label end |
Instance Attribute Details
#label ⇒ Object (readonly)
Returns the value of attribute label.
188 189 190 |
# File 'lib/rubigen/lookup.rb', line 188 def label @label end |
Instance Method Details
#each ⇒ Object
The each method must be implemented in subclasses. The base implementation raises an error.
195 196 197 |
# File 'lib/rubigen/lookup.rb', line 195 def each raise NotImplementedError end |
#names(filter = nil) ⇒ Object
Return a convenient sorted list of all generator names.
200 201 202 203 204 205 206 207 208 |
# File 'lib/rubigen/lookup.rb', line 200 def names(filter = nil) inject([]) do |mem, spec| case filter when :visible mem << spec.name if spec.visible? end mem end.sort end |