class BinData::BaseArgProcessor
need to perform error checking on the parameters.
Any passed parameters are sanitized so the BinData object doesn’t
the form required to initialise the BinData object.
ArgProcessors process the arguments passed to BinData::Base.new into
def extract_args(obj_class, obj_args)
Takes the arguments passed to BinData::Base.new and
def extract_args(obj_class, obj_args) value, params, parent = separate_args(obj_class, obj_args) sanitized_params = SanitizedParameters.sanitize(params, obj_class) [value, sanitized_params, parent] end
def sanitize_parameters!(obj_class, obj_params); end
This method converts the parameters to the form expected
Performs sanity checks on the given parameters.
def sanitize_parameters!(obj_class, obj_params); end
def separate_args(_obj_class, obj_args)
Separates the arguments passed to BinData::Base.new into
def separate_args(_obj_class, obj_args) args = obj_args.dup value = parameters = parent = nil if args.length > 1 && args.last.is_a?(BinData::Base) parent = args.pop end if args.length > 0 && args.last.is_a?(Hash) parameters = args.pop end if args.length > 0 value = args.pop end parameters ||= @@empty_hash [value, parameters, parent] end