In Files

  • rubygems/old_format.rb

Class/Module Index [+]

Quicksearch

Gem::OldFormat

The format class knows the guts of the RubyGem .gem file format and provides the capability to read gem files

Attributes

file_entries[RW]
gem_path[RW]
spec[RW]

Public Class Methods

from_file_by_path(file_path) click to toggle source

Reads the named gem file and returns a Format object, representing the data from the gem file

file_path
String

Path to the gem file

 
               # File rubygems/old_format.rb, line 37
def self.from_file_by_path(file_path)
  unless File.exist?(file_path)
    raise Gem::Exception, "Cannot load gem file [#{file_path}]"
  end

  File.open(file_path, 'rb') do |file|
    from_io(file, file_path)
  end
end
            
from_io(io, gem_path="(io)") click to toggle source

Reads a gem from an io stream and returns a Format object, representing the data from the gem file

io
IO

Stream from which to read the gem

 
               # File rubygems/old_format.rb, line 53
def self.from_io(io, gem_path="(io)")
  format = self.new(gem_path)
  skip_ruby(io)
  format.spec = read_spec(io)
  format.file_entries = []
  read_files_from_gem(io) do |entry, file_data|
    format.file_entries << [entry, file_data]
  end
  format
end
            
new(gem_path) click to toggle source

Constructs an instance of a Format object, representing the gem's data structure.

gem
String

The file name of the gem

 
               # File rubygems/old_format.rb, line 23
def initialize(gem_path)
  require 'fileutils'
  require 'zlib'
  Gem.load_yaml

  @gem_path = gem_path
end