Class: BinData::Lstring

Inherits:
BasePrimitive
  • Object
show all
Defined in:
lib/cnab240/ext/lstring.rb

Overview

I didn’t want to monkey patch bindata’s String primitive.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.sanitize_parameters!(params) ⇒ Object

:nodoc:



15
16
17
18
19
20
21
22
23
24
# File 'lib/cnab240/ext/lstring.rb', line 15

def sanitize_parameters!(params) #:nodoc:
  params.warn_replacement_parameter(:initial_length, :read_length)

  params.warn_renamed_parameter(:pad_char, :pad_byte) # Remove this line in the future

  if params.has_parameter?(:pad_byte)
    byte = params[:pad_byte]
    params[:pad_byte] = sanitized_pad_byte(byte)
  end
end

Instance Method Details

#assign(val) ⇒ Object



46
47
48
# File 'lib/cnab240/ext/lstring.rb', line 46

def assign(val)
  super(byte_string(val.dup))
end

#snapshotObject



50
51
52
53
54
55
56
57
58
59
# File 'lib/cnab240/ext/lstring.rb', line 50

def snapshot
  # override to trim padding
  result = super
  result = clamp_to_length(result)

  if get_parameter(:trim_padding)
    result = trim_padding(result)
  end
  result
end