class BinData::Skip
Skip will skip over bytes from the input stream. If the stream is not seekable, then the bytes are consumed and discarded.
When writing, skip will write the appropriate number of zero bytes.
require 'bindata' class A < BinData::Record skip :length => 5 string :a, :read_length => 5 end obj = A.read("abcdefghij") obj.a #=> "fghij"
Parameters¶ ↑
Skip objects accept all the params that BinData::BasePrimitive does, as well as the following:
:length
-
The number of bytes to skip.
:to_abs_offset
-
Skips to the given absolute offset.
Public Instance Methods
Private Instance Methods
read_and_return_value(io)
click to toggle source
# File lib/bindata/skip.rb, line 52 def read_and_return_value(io) len = skip_length if len < 0 raise ValidityError, "#{debug_name} attempted to seek backwards by #{len.abs} bytes" end io.seekbytes(len) "" end
sensible_default()
click to toggle source
# File lib/bindata/skip.rb, line 62 def sensible_default "" end
value_to_binary_string(val)
click to toggle source
# File lib/bindata/skip.rb, line 43 def value_to_binary_string(val) len = skip_length if len < 0 raise ValidityError, "#{debug_name} attempted to seek backwards by #{len.abs} bytes" end "\000" * skip_length end