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