Sha256: 5fbbf3b761c134ae9986410156e7a62b6046e55a49988e21e0a93e560cd3f26b
Contents?: true
Size: 1.26 KB
Versions: 5
Compression:
Stored size: 1.26 KB
Contents
require 'rubygems' module Tap module Support # Methods for working with {RubyGems}[http://www.rubygems.org/] # and other gems frequently used by Tap. module Gems module_function # Returns the gemspec for the specified gem. A gem version # can be specified in the name, like 'gem >= 1.2'. The gem # will be activated using +gem+ if necessary. def gemspec(gem_name) return gem_name if gem_name.kind_of?(Gem::Specification) # figure the version of the gem, by default >= 0.0.0 gem_name.to_s =~ /^([^<=>]*)(.*)$/ name, version = $1.strip, $2 version = ">= 0.0.0" if version.empty? return nil if name.empty? # load the gem and get the spec gem(name, version) Gem.loaded_specs[name] end # Selects gem specs for which the block returns true. If # latest is specified, only the latest version of each # gem will be passed to the block. def select_gems(latest=true) index = latest ? Gem.source_index.latest_specs : Gem.source_index.gems.collect {|(name, spec)| spec } index.select do |spec| yield(spec) end.sort end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
tap-0.12.3 | lib/tap/support/gems.rb |
tap-0.12.0 | lib/tap/support/gems.rb |
tap-0.12.2 | lib/tap/support/gems.rb |
tap-0.12.1 | lib/tap/support/gems.rb |
tap-0.12.4 | lib/tap/support/gems.rb |