class AAMVA::Calculator

Public Class Methods

subfile(type:, data_elements:, data_element_separator:, segment_terminator:) click to toggle source
# File lib/aamva/calculator.rb, line 3
def self.subfile(type:, data_elements:, data_element_separator:, segment_terminator:)
  joined_pairs = data_elements
    .map { |k, v| "#{k}#{v}" }
    .join(data_element_separator)

  "#{type}#{joined_pairs}#{segment_terminator}"
end
subfile_length(type:, data_elements:, data_element_separator:, segment_terminator:) click to toggle source
# File lib/aamva/calculator.rb, line 26
def self.subfile_length(type:, data_elements:, data_element_separator:, segment_terminator:)
  subfile(
    type: type,
    data_elements: data_elements,
    data_element_separator: data_element_separator,
    segment_terminator: segment_terminator
  ).length
end
subfile_offset() click to toggle source
# File lib/aamva/calculator.rb, line 22
def self.subfile_offset
  "TODO"
end
subfiles(subfiles:, data_element_separator:, segment_terminator:) click to toggle source
# File lib/aamva/calculator.rb, line 11
def self.subfiles(subfiles:, data_element_separator:, segment_terminator:)
  subfiles.map do |type, subfile|
    Calculator.subfile(
      type: type,
      data_elements: subfile.data_elements,
      data_element_separator: data_element_separator,
      segment_terminator: segment_terminator
    )
  end.join("")
end