Class: Gem::DependencyList
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.from_atoms(fetcher, atoms) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/g-gem/gems_extensions.rb', line 6 def from_atoms(fetcher, atoms) deps = self.new atoms.each do |atom| dep = atom.gem_dependency if atom.origin =~ /^(.*\/)/ dep.singleton_eval do define_method(:origin_dir) { $1 } end end deps.add(fetcher[dep]) end deps end |
Instance Method Details
#each_spec ⇒ Object
37 38 39 |
# File 'lib/g-gem/gems_extensions.rb', line 37 def each_spec @specs.each do |spec| yield spec ; end end |
#include_dependencies(fetcher) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/g-gem/gems_extensions.rb', line 25 def include_dependencies(fetcher) return self if ok? size = @specs.size @specs.each do |spec| spec.dependencies.each do |dep| next if satisfied?(dep) add fetcher[dep] end end @specs.size != size ? include_dependencies(fetcher) : self end |
#satisfied?(dependency) ⇒ Boolean
21 22 23 |
# File 'lib/g-gem/gems_extensions.rb', line 21 def satisfied?(dependency) @specs.any? { |s| s.satisfies_requirement?(dependency) } end |