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