Class: OpenURI::Buffer

Inherits:
Object
  • Object
show all
Defined in:
lib/rubysl/open-uri/open-uri.rb

Overview

:nodoc: all

Constant Summary collapse

StringMax =
10240

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBuffer

Returns a new instance of Buffer.



376
377
378
379
# File 'lib/rubysl/open-uri/open-uri.rb', line 376

def initialize
  @io = StringIO.new
  @size = 0
end

Instance Attribute Details

#sizeObject (readonly)

Returns the value of attribute size.



380
381
382
# File 'lib/rubysl/open-uri/open-uri.rb', line 380

def size
  @size
end

Instance Method Details

#<<(str) ⇒ Object



383
384
385
386
387
388
389
390
391
392
393
394
# File 'lib/rubysl/open-uri/open-uri.rb', line 383

def <<(str)
  @io << str
  @size += str.length
  if StringIO === @io && StringMax < @size
    require 'tempfile'
    io = Tempfile.new('open-uri')
    io.binmode
    Meta.init io, @io if Meta === @io
    io << @io.string
    @io = io
  end
end

#ioObject



396
397
398
399
# File 'lib/rubysl/open-uri/open-uri.rb', line 396

def io
  Meta.init @io unless Meta === @io
  @io
end