Module: BinaryReaderMixin
- Included in:
- Buffer
- Defined in:
- lib/binary_reader.rb
Overview
This mixin solely depends on method read(n), which must be defined in the class/module where you mixin this module.
Instance Method Summary collapse
- #read_int16_big ⇒ Object
- #read_int16_little ⇒ Object
-
#read_int16_native ⇒ Object
Signed.
- #read_int32_big ⇒ Object
- #read_int32_little ⇒ Object
-
#read_int32_native ⇒ Object
Signed.
- #read_int8 ⇒ Object
- #read_word16_big ⇒ Object
- #read_word16_little ⇒ Object
-
#read_word16_native ⇒ Object
Unsigned.
- #read_word32_big ⇒ Object
- #read_word32_little ⇒ Object
-
#read_word32_native ⇒ Object
Unsigned.
-
#read_word8 ⇒ Object
(also: #read_byte, #read_uint8)
no byteorder for 8 bit!.
-
#readn(n) ⇒ Object
read exactly n characters, otherwise raise an exception.
Instance Method Details
#read_int16_big ⇒ Object
48 49 50 51 |
# File 'lib/binary_reader.rb', line 48 def read_int16_big # swap bytes if native=little (but we want big) ru_swap(2, 's', ByteOrder::Little) end |
#read_int16_little ⇒ Object
43 44 45 46 |
# File 'lib/binary_reader.rb', line 43 def read_int16_little # swap bytes if native=big (but we want little) ru_swap(2, 's', ByteOrder::Big) end |
#read_int16_native ⇒ Object
Signed
39 40 41 |
# File 'lib/binary_reader.rb', line 39 def read_int16_native ru(2, 's') end |
#read_int32_big ⇒ Object
80 81 82 83 |
# File 'lib/binary_reader.rb', line 80 def read_int32_big # swap bytes if native=little (but we want big) ru_swap(4, 'l', ByteOrder::Little) end |
#read_int32_little ⇒ Object
75 76 77 78 |
# File 'lib/binary_reader.rb', line 75 def read_int32_little # swap bytes if native=big (but we want little) ru_swap(4, 'l', ByteOrder::Big) end |
#read_int32_native ⇒ Object
Signed
71 72 73 |
# File 'lib/binary_reader.rb', line 71 def read_int32_native ru(4, 'l') end |
#read_int8 ⇒ Object
15 16 17 |
# File 'lib/binary_reader.rb', line 15 def read_int8 ru(1, 'c') end |
#read_word16_big ⇒ Object
33 34 35 |
# File 'lib/binary_reader.rb', line 33 def read_word16_big ru(2, 'n') end |
#read_word16_little ⇒ Object
29 30 31 |
# File 'lib/binary_reader.rb', line 29 def read_word16_little ru(2, 'v') end |
#read_word16_native ⇒ Object
Unsigned
25 26 27 |
# File 'lib/binary_reader.rb', line 25 def read_word16_native ru(2, 'S') end |
#read_word32_big ⇒ Object
65 66 67 |
# File 'lib/binary_reader.rb', line 65 def read_word32_big ru(4, 'N') end |
#read_word32_little ⇒ Object
61 62 63 |
# File 'lib/binary_reader.rb', line 61 def read_word32_little ru(4, 'V') end |
#read_word32_native ⇒ Object
Unsigned
57 58 59 |
# File 'lib/binary_reader.rb', line 57 def read_word32_native ru(4, 'L') end |
#read_word8 ⇒ Object Also known as: read_byte, read_uint8
no byteorder for 8 bit!
11 12 13 |
# File 'lib/binary_reader.rb', line 11 def read_word8 ru(1, 'C') end |
#readn(n) ⇒ Object
read exactly n characters, otherwise raise an exception.
101 102 103 104 105 |
# File 'lib/binary_reader.rb', line 101 def readn(n) str = read(n) raise "couldn't read #{n} characters" if str.nil? or str.size != n str end |