module Polisher::RPM::RequirementGemReference::ClassMethods

Public Instance Methods

from_gem_dep(gem_dep, br = false) click to toggle source

Instantiate / return new rpm spec requirements from gem dependency.

Because a gem dependency may result in multiple spec requirements this will always return an array of Requirement instances

# File lib/polisher/rpm/requirement/gem_reference.rb, line 18
def from_gem_dep(gem_dep, br = false)
  require 'gem2rpm'

  gem_dep.requirement.to_s.split(',').collect do |req|
    expanded = Gem2Rpm::Helpers.expand_requirement [req.split]
    expanded.collect do |e|
      new :name      => "#{prefix}(#{gem_dep.name})",
          :condition => e.first.to_s,
          :version   => e.last.to_s,
          :br        => br
    end
  end.flatten
end