mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rubygems: Update to RubyGems 2.4.1 master(713ab65)
Complete history at: https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216 * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e548c09d42
commit
4de117a615
153 changed files with 5400 additions and 981 deletions
45
lib/rubygems/package/io_source.rb
Normal file
45
lib/rubygems/package/io_source.rb
Normal file
|
@ -0,0 +1,45 @@
|
|||
##
|
||||
# Supports reading and writing gems from/to a generic IO object. This is
|
||||
# useful for other applications built on top of rubygems, such as
|
||||
# rubygems.org.
|
||||
#
|
||||
# This is a private class, do not depend on it directly. Instead, pass an IO
|
||||
# object to `Gem::Package.new`.
|
||||
|
||||
class Gem::Package::IOSource < Gem::Package::Source # :nodoc: all
|
||||
|
||||
attr_reader :io
|
||||
|
||||
def initialize io
|
||||
@io = io
|
||||
end
|
||||
|
||||
def start
|
||||
@start ||= begin
|
||||
if io.pos > 0
|
||||
raise Gem::Package::Error, "Cannot read start unless IO is at start"
|
||||
end
|
||||
|
||||
value = io.read 20
|
||||
io.rewind
|
||||
value
|
||||
end
|
||||
end
|
||||
|
||||
def present?
|
||||
true
|
||||
end
|
||||
|
||||
def with_read_io
|
||||
yield io
|
||||
end
|
||||
|
||||
def with_write_io
|
||||
yield io
|
||||
end
|
||||
|
||||
def path
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue