new(gem, security_policy = nil)
public
Creates a new Gem::Package for the file at gem.
gem can also be provided as an IO object.
If gem is an existing file in the old format a Gem::Package::Old will be returned.
# File lib/rubygems/package.rb, line 138
def self.new(gem, security_policy = nil)
gem = if gem.is_a?(Gem::Package::Source)
gem
elsif gem.respond_to? :read
Gem::Package::IOSource.new gem
else
Gem::Package::FileSource.new gem
end
return super unless Gem::Package == self
return super unless gem.present?
return super unless gem.start
return super unless gem.start.include? 'MD5SUM ='
Gem::Package::Old.new gem
end