Sha256: d09af39a3421c25cbf5c79ad823f5ae46461bb33b6d4a6d6e956400a36dbec5c

Contents?: true

Size: 609 Bytes

Versions: 55

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

55 entries across 55 versions & 1 rubygems

Version Path
rubygems-update-3.2.34 lib/rubygems/package/file_source.rb
rubygems-update-3.3.18 lib/rubygems/package/file_source.rb
rubygems-update-3.3.17 lib/rubygems/package/file_source.rb
rubygems-update-3.3.16 lib/rubygems/package/file_source.rb
rubygems-update-3.3.15 lib/rubygems/package/file_source.rb
rubygems-update-3.3.14 lib/rubygems/package/file_source.rb
rubygems-update-3.3.13 lib/rubygems/package/file_source.rb
rubygems-update-3.3.12 lib/rubygems/package/file_source.rb
rubygems-update-3.3.11 lib/rubygems/package/file_source.rb
rubygems-update-3.3.10 lib/rubygems/package/file_source.rb
rubygems-update-3.3.9 lib/rubygems/package/file_source.rb
rubygems-update-3.3.8 lib/rubygems/package/file_source.rb
rubygems-update-3.3.7 lib/rubygems/package/file_source.rb
rubygems-update-3.3.6 lib/rubygems/package/file_source.rb
rubygems-update-3.3.5 lib/rubygems/package/file_source.rb
rubygems-update-3.3.4 lib/rubygems/package/file_source.rb
rubygems-update-3.3.3 lib/rubygems/package/file_source.rb
rubygems-update-3.3.2 lib/rubygems/package/file_source.rb
rubygems-update-3.3.1 lib/rubygems/package/file_source.rb
rubygems-update-3.3.0 lib/rubygems/package/file_source.rb