Class: Gio::InputStream
- Inherits:
-
Object
- Object
- Gio::InputStream
- Defined in:
- lib/gio2/input-stream.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.open(*arguments) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/gio2/input-stream.rb', line 20 def open(*arguments) input_stream = new(*arguments) return input_stream unless block_given? begin yield(input_stream) ensure input_stream.close unless input_stream.closed? end end |
Instance Method Details
#read(size = nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/gio2/input-stream.rb', line 33 def read(size=nil) if size.nil? all = "".b buffer_size = 8192 buffer = " ".b * buffer_size loop do read_bytes = read_all_raw_compatible(buffer) all << buffer.byteslice(0, read_bytes) break if read_bytes != buffer_size end all else buffer = " ".b * size read_bytes = read_raw_compatible(buffer) buffer.replace(buffer.byteslice(0, read_bytes)) buffer end end |
#read_all(size) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/gio2/input-stream.rb', line 53 def read_all(size) buffer = " ".b * size read_bytes = read_all_raw_compatible(buffer) buffer.replace(buffer.byteslice(0, read_bytes)) buffer end |
#read_all_raw ⇒ Object
52 |
# File 'lib/gio2/input-stream.rb', line 52 alias_method :read_all_raw, :read_all |
#read_raw ⇒ Object
32 |
# File 'lib/gio2/input-stream.rb', line 32 alias_method :read_raw, :read |