Class: Topaz::Dependency
- Inherits:
-
Object
- Object
- Topaz::Dependency
- Defined in:
- lib/topaz.rb
Class Method Summary collapse
-
.dependency(gem, version = '> 0.0.0', ret = :gem) ⇒ Object
Finds dependencies for a gem.
Class Method Details
.dependency(gem, version = '> 0.0.0', ret = :gem) ⇒ Object
Finds dependencies for a gem. Restrict by version with the ‘version` parameter. If `ret == :gem`, then an array of `Gem::Dependency` objects will be returned. If `ret == :raw`, then an array of arrays will be returned. Each array will have three elements: the name of the gem, its relation to the requirement `>=`, `<`, etc., and the version required (`0.4.1`, et al.)
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/topaz.rb', line 33 def dependency(gem, version = '> 0.0.0', ret = :gem) dependencies = [] source_index = Gem::SourceIndex.from_installed_gems speclist = source_index.search(gem, version) speclist.each do |spec| dependencies << spec.dependencies end case ret when :gem dependencies when :raw raw = [] dependencies.first.each do |d| raw << [d.name, d.version_requirements.requirements[0][0], d.version_requirements.requirements[0][1].to_s] end raw end end |