Module: IOStruct::ClassMethods
- Defined in:
- lib/iostruct.rb
Instance Method Summary collapse
-
#read(src, size = nil) ⇒ Object
src can be IO or String, or anything that responds to :read or :unpack.
Instance Method Details
#read(src, size = nil) ⇒ Object
src can be IO or String, or anything that responds to :read or :unpack
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/iostruct.rb', line 96 def read src, size = nil size ||= const_get 'SIZE' data = if src.respond_to?(:read) src.read(size).to_s elsif src.respond_to?(:unpack) src else raise "[?] don't know how to read from #{src.inspect}" end # if data.size < size # $stderr.puts "[!] #{self.to_s} want #{size} bytes, got #{data.size}" # end new(*data.unpack(const_get('FORMAT'))) end |