Class: Arf::IO::LimitReader

Inherits:
Object
  • Object
show all
Defined in:
lib/arf/io/limit_reader.rb

Instance Method Summary collapse

Constructor Details

#initialize(io, size) ⇒ LimitReader

Returns a new instance of LimitReader.



6
7
8
9
# File 'lib/arf/io/limit_reader.rb', line 6

def initialize(io, size)
  @io = io
  @left = size
end

Instance Method Details

#read(size) ⇒ Object



16
17
18
19
# File 'lib/arf/io/limit_reader.rb', line 16

def read(size)
  size = normalize_size(size)
  @io.read(size).tap { @left -= _1.length }
end

#readpartial(size) ⇒ Object



11
12
13
14
# File 'lib/arf/io/limit_reader.rb', line 11

def readpartial(size)
  size = normalize_size(size)
  @io.readpartial(size).tap { @left -= _1.length }
end