Class: Gem::Package::FileSource
Do not use. This class is for internal use only.
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Source
|
|
Instance Chain:
self,
Source
|
|
Inherits: |
Gem::Package::Source
|
Defined in: | lib/rubygems/package/file_source.rb |
Overview
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 new.
Class Method Summary
- .new(path) ⇒ FileSource constructor
Instance Attribute Summary
- #path readonly
- #present? ⇒ Boolean readonly
Instance Method Summary
Constructor Details
.new(path) ⇒ FileSource
# File 'lib/rubygems/package/file_source.rb', line 12
def initialize(path) @path = path end
Instance Attribute Details
#path (readonly)
[ GitHub ]# File 'lib/rubygems/package/file_source.rb', line 10
attr_reader :path
#present? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/rubygems/package/file_source.rb', line 20
def present? File.exist? path end
Instance Method Details
#start
[ GitHub ]# File 'lib/rubygems/package/file_source.rb', line 16
def start @start ||= File.read path, 20 end
#with_read_io(&block)
[ GitHub ]# File 'lib/rubygems/package/file_source.rb', line 28
def with_read_io(&block) File.open path, 'rb', &block end
#with_write_io(&block)
[ GitHub ]# File 'lib/rubygems/package/file_source.rb', line 24
def with_write_io(&block) File.open path, 'wb', &block end