Class: RubiGen::GemGeneratorSource
- Inherits:
-
AbstractGemSource
- Object
- AbstractGemSource
- RubiGen::GemGeneratorSource
- Defined in:
- lib/sprout/generator/base_mixins.rb
Overview
GemGeneratorSource hits the mines to quarry for generators. The latest versions of gems named sprout-#sprout_name-bundle are selected.
Instance Method Summary collapse
-
#each ⇒ Object
Yield latest versions of generator gems.
- #each_sprout ⇒ Object
-
#initialize(name = nil) ⇒ GemGeneratorSource
constructor
:nodoc:.
Constructor Details
#initialize(name = nil) ⇒ GemGeneratorSource
93 94 95 96 |
# File 'lib/sprout/generator/base_mixins.rb', line 93 def initialize(name=nil) super() @sprout_name = name end |
Instance Method Details
#each ⇒ Object
Yield latest versions of generator gems.
99 100 101 102 103 104 105 106 107 |
# File 'lib/sprout/generator/base_mixins.rb', line 99 def each Gem::cache.sprout_search(/sprout-*#{@sprout_name}-bundle$/).inject({}) do |latest, gem| hem = latest[gem.name] latest[gem.name] = gem if hem.nil? or gem.version > hem.version latest end.values.each do |gem| yield Spec.new(gem.name.sub(/sprout-*#{@sprout_name}-bundle$/, ''), gem.full_gem_path, label) end end |
#each_sprout ⇒ Object
109 110 111 112 113 114 115 116 117 |
# File 'lib/sprout/generator/base_mixins.rb', line 109 def each_sprout Gem::cache.sprout_search(/^sprout-.*/).inject({}) do |latest, gem| hem = latest[gem.name] latest[gem.name] = gem if hem.nil? or gem.version > hem.version latest end.values.each do |gem| yield Spec.new(gem.name, gem.full_gem_path, label) end end |