Sha256: 8e27a9cffb0aa4d966b9659d4532a3ee98afe7f496cee0e1a0d4c151c6eb9aa1

Contents?: true

Size: 609 Bytes

Versions: 7

Compression:

Stored size: 609 Bytes

Contents

# frozen_string_literal: true
##
# The primary source of gems is a file on disk, including all usages
# internal to rubygems.
#
# This is a private class, do not depend on it directly. Instead, pass a path
# object to `Gem::Package.new`.

class Gem::Package::FileSource < Gem::Package::Source # :nodoc: all

  attr_reader :path

  def initialize path
    @path = path
  end

  def start
    @start ||= File.read path, 20
  end

  def present?
    File.exist? path
  end

  def with_write_io &block
    File.open path, 'wb', &block
  end

  def with_read_io &block
    File.open path, 'rb', &block
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rubygems-update-2.7.11 lib/rubygems/package/file_source.rb
rubygems-update-2.7.10 lib/rubygems/package/file_source.rb
rubygems-update-2.7.9 lib/rubygems/package/file_source.rb
rubygems-update-2.7.8 lib/rubygems/package/file_source.rb
rubygems-update-2.7.7 lib/rubygems/package/file_source.rb
rubygems-update-2.7.6 lib/rubygems/package/file_source.rb
rubygems-update-2.7.5 lib/rubygems/package/file_source.rb