class BinData::BaseArgProcessor
ArgProcessors process the arguments passed to BinData::Base.new into the form required to initialise the BinData object.
Any passed parameters are sanitized so the BinData object doesn't need to perform error checking on the parameters.
Public Instance Methods
extract_args(obj_class, obj_args)
click to toggle source
Takes the arguments passed to BinData::Base.new and extracts [value, sanitized_parameters, parent].
# File lib/bindata/base.rb, line 300 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
sanitize_parameters!(obj_class, obj_params)
click to toggle source
Performs sanity checks on the given parameters. This method converts the parameters to the form expected by the data object.
# File lib/bindata/base.rb, line 333 def sanitize_parameters!(obj_class, obj_params) end
separate_args(_obj_class, obj_args)
click to toggle source
Separates the arguments passed to BinData::Base.new into [value, parameters, parent]. Called by extract_args.
# File lib/bindata/base.rb, line 309 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