Class: Gembox::Gems
- Inherits:
-
Object
- Object
- Gembox::Gems
- Defined in:
- lib/gembox/gems.rb
Class Attribute Summary collapse
-
.source_index ⇒ Object
Returns the value of attribute source_index.
Class Method Summary collapse
- .load ⇒ Object
- .local_gems ⇒ Object
- .search(search_term, version = nil, strict = false) ⇒ Object
- .stats ⇒ Object
Class Attribute Details
.source_index ⇒ Object
Returns the value of attribute source_index.
4 5 6 |
# File 'lib/gembox/gems.rb', line 4 def source_index @source_index end |
Class Method Details
.load ⇒ Object
6 7 8 9 |
# File 'lib/gembox/gems.rb', line 6 def load @source_index ||= ::Gem.source_index local_gems end |
.local_gems ⇒ Object
11 12 13 |
# File 'lib/gembox/gems.rb', line 11 def local_gems @local_gems ||= group_gems(source_index.gems) end |
.search(search_term, version = nil, strict = false) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/gembox/gems.rb', line 15 def search(search_term, version = nil, strict = false) version = version ? Gem::Requirement.create(version) : Gem::Requirement.default escaped = Regexp.escape(search_term) regexp = strict ? /^#{escaped}$/ : /#{escaped}/ gems = source_index.search Gem::Dependency.new(regexp, version) group_gems(gems) end |
.stats ⇒ Object
23 24 25 26 27 28 |
# File 'lib/gembox/gems.rb', line 23 def stats num_versions = source_index.length num_gems = local_gems.length oldest_gem = source_index.min {|a,b| a[1].date <=> b[1].date }.last {:num_versions => num_versions, :num_gems => num_gems, :oldest_gem => oldest_gem} end |