Class: BinData::SkipArgProcessor

Inherits:
BaseArgProcessor show all
Defined in:
lib/bindata/skip.rb

Instance Method Summary collapse

Methods inherited from BaseArgProcessor

#extract_args, #separate_args

Instance Method Details

#sanitize_parameters!(obj_class, params) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/bindata/skip.rb', line 86

def sanitize_parameters!(obj_class, params)
  unless params.has_parameter?(:length) or
         params.has_parameter?(:to_abs_offset) or
         params.has_parameter?(:until_valid)
    raise ArgumentError, "#{obj_class} requires either :length, :to_abs_offset or :until_valid"
  end
  params.must_be_integer(:to_abs_offset, :length)

  if params.needs_sanitizing?(:until_valid)
    el_type, el_params = params[:until_valid]
    params[:until_valid] = params.create_sanitized_object_prototype(el_type, el_params)
  end
end