class AAMVA::Standard

Attributes

spec[R]

Public Class Methods

new(year) click to toggle source
# File lib/aamva/standard.rb, line 11
def initialize(year)
  @spec = YAML.load_file(File.expand_path("../../../lib/aamva/data/info/#{year}.yml", __FILE__))
end

Public Instance Methods

data_element(data_element) click to toggle source
# File lib/aamva/standard.rb, line 39
def data_element(data_element)
  @spec['data_elements'][data_element.to_s]
end
factory(field) click to toggle source
# File lib/aamva/standard.rb, line 17
def factory(field)
  if data_element?(field)
    {
      :type => data_element(field)&.dig("factory", "type"),
      :options => data_element(field)&.dig("factory", "options").to_h
    }
  elsif header_field?(field)
    {
      :type => header(field)&.dig("factory", "type"),
      :options => header(field)&.dig("factory", "options").to_h
    }
  end
end
header(field) click to toggle source
# File lib/aamva/standard.rb, line 31
def header(field)
  @spec['header'][field.to_s]
end
required_data_elements() click to toggle source
# File lib/aamva/standard.rb, line 35
def required_data_elements
  @spec['data_elements'].reject { |de| de['required'] }.keys
end

Private Instance Methods

data_element?(field) click to toggle source
# File lib/aamva/standard.rb, line 45
def data_element?(field)
  !!data_element(field)
end
header_field?(field) click to toggle source
# File lib/aamva/standard.rb, line 49
def header_field?(field)
  !!header(field)
end