module Polisher::RPM::SpecGemRequirements
Public Instance Methods
build_requirements_for_gem(gem_name)
click to toggle source
Return all the BuildRequires for the specified gem
# File lib/polisher/rpm/spec/gem_requirements.rb, line 15 def build_requirements_for_gem(gem_name) build_requires.select { |r| r.gem_name == gem_name } end
extra_gem_build_requirements(gem)
click to toggle source
Return all gem build requirements not in the specified gem
# File lib/polisher/rpm/spec/gem_requirements.rb, line 67 def extra_gem_build_requirements(gem) gem_reqs = gem.deps.collect { |d| requirements_for_gem(d.name) }.flatten gem_build_requirements - gem_reqs end
extra_gem_requirements(gem)
click to toggle source
Return all gem requirements not in the specified gem
# File lib/polisher/rpm/spec/gem_requirements.rb, line 61 def extra_gem_requirements(gem) gem_reqs = gem.deps.collect { |d| requirements_for_gem(d.name) }.flatten gem_requirements - gem_reqs end
gem_build_requirements()
click to toggle source
Return all gem BuildRequires
# File lib/polisher/rpm/spec/gem_requirements.rb, line 46 def gem_build_requirements build_requires.select { |r| r.gem? } end
gem_requirements()
click to toggle source
Return all gem Requires
# File lib/polisher/rpm/spec/gem_requirements.rb, line 41 def gem_requirements requires.select { |r| r.gem? } end
has_all_requirements_for?(gem_dep)
click to toggle source
Return bool indicating if this spec specifies all the requirements in the specified gem dependency
@param [Gem::Dependency] gem_dep dependency which to retreive / compare requirements
# File lib/polisher/rpm/spec/gem_requirements.rb, line 24 def has_all_requirements_for?(gem_dep) require 'gem2rpm' reqs = requirements_for_gem gem_dep.name # create a spec requirement dependency for each expanded subrequirement, # verify we can find a match for that gem_dep.requirement.to_s.split(',').all? do |greq| Gem2Rpm::Helpers.expand_requirement([greq.split]).all? do |ereq| tereq = Requirement.new :name => "#{requirement_prefix}(#{gem_dep.name})", :condition => ereq.first, :version => ereq.last.to_s reqs.any? { |req| req.matches?(tereq) } end end end
non_gem_build_requirements()
click to toggle source
Return all non gem BuildRequires
# File lib/polisher/rpm/spec/gem_requirements.rb, line 56 def non_gem_build_requirements build_requires.select { |r| !r.gem? } end
non_gem_requirements()
click to toggle source
Return all non gem Requires
# File lib/polisher/rpm/spec/gem_requirements.rb, line 51 def non_gem_requirements requires.select { |r| !r.gem? } end
requirements_for_gem(gem_name)
click to toggle source
Return all the Requires for the specified gem
# File lib/polisher/rpm/spec/gem_requirements.rb, line 10 def requirements_for_gem(gem_name) requires.select { |r| r.gem_name == gem_name } end