Class: BinData::Skip
- Inherits:
-
BasePrimitive
- Object
- Base
- BasePrimitive
- BinData::Skip
- Defined in:
- lib/bindata/skip.rb
Overview
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.
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from BasePrimitive
#<=>, #assign, bit_aligned, #clear?, #do_num_bytes, #do_read, #do_read_with_hook, #do_write, #eql?, #hash, #initialize_instance, #method_missing, #respond_to?, #snapshot, #trace_value, turn_off_tracing, turn_on_tracing, #value, #value=
Methods inherited from Base
#==, #=~, #abs_offset, arg_processor, auto_call_delayed_io, bindata_name, #clear, #debug_name, #eval_parameter, #get_parameter, #has_parameter?, #initialize_instance, #initialize_with_warning, #inspect, #lazy_evaluator, #new, #num_bytes, #pretty_print, #read, read, register_subclasses, #rel_offset, #safe_respond_to?, #to_binary_s, #to_hex, #to_s, unregister_self, #write
Methods included from AcceptedParametersPlugin
#accepted_parameters, #default_parameters, #mandatory_parameters, #mutually_exclusive_parameters, #optional_parameters
Methods included from CheckOrAdjustOffsetPlugin
Methods included from RegisterNamePlugin
Methods included from Framework
#assign, #bit_aligned?, #clear?, #debug_name_of, #offset_of, #snapshot
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class BinData::BasePrimitive
Instance Method Details
#initialize_shared_instance ⇒ Object
34 35 36 37 38 |
# File 'lib/bindata/skip.rb', line 34 def initialize_shared_instance extend SkipLengthPlugin if has_parameter?(:length) extend SkipToAbsOffsetPlugin if has_parameter?(:to_abs_offset) super end |