class BinData::StringArgProcessor

def sanitize_parameters!(obj_class, params)

def sanitize_parameters!(obj_class, params)
  params.warn_replacement_parameter(:initial_length, :read_length)
  params.must_be_integer(:read_length, :length)
  if params.has_parameter?(:pad_left)
    params[:pad_front] = params.delete(:pad_left)
  end
  if params.has_parameter?(:pad_byte)
    byte = params[:pad_byte]
    params[:pad_byte] = sanitized_pad_byte(byte)
  end
end

def sanitized_pad_byte(byte)

def sanitized_pad_byte(byte)
  pad_byte = byte.is_a?(Integer) ? byte.chr : byte.to_s
  if pad_byte.bytesize > 1
    raise ArgumentError, ":pad_byte must not contain more than 1 byte"
  end
  pad_byte
end