module Metro2::Fields
Public Instance Methods
alphanumeric_const_field(name, required_length, val, permitted_chars = Metro2::ALPHANUMERIC)
click to toggle source
# File lib/metro_2/fields.rb, line 44 def alphanumeric_const_field(name, required_length, val, permitted_chars = Metro2::ALPHANUMERIC) fields << name # getter define_method name do val end # to_metro2 define_method "#{name}_to_metro2" do Metro2.alphanumeric_to_metro2(val, required_length, permitted_chars, name) end end
alphanumeric_field(name, required_length, permitted_chars = Metro2::ALPHANUMERIC)
click to toggle source
# File lib/metro_2/fields.rb, line 3 def alphanumeric_field(name, required_length, permitted_chars = Metro2::ALPHANUMERIC) fields << name # getter define_method name do instance_variable_get("@#{name}") end # setter (includes validations) define_method "#{name}=" do | val | instance_variable_set("@#{name}", val) end # to_metro2 define_method "#{name}_to_metro2" do val = instance_variable_get("@#{name}") Metro2.alphanumeric_to_metro2(val, required_length, permitted_chars, name) end end
date_field(name)
click to toggle source
# File lib/metro_2/fields.rb, line 77 def date_field(name) fields << name # getter define_method name do instance_variable_get("@#{name}") end # setter (includes validations) define_method "#{name}=" do | val | instance_variable_set("@#{name}", val) end # to_metro2 define_method "#{name}_to_metro2" do # Right justified and zero-filled val = instance_variable_get("@#{name}") val = val&.strftime('%m%d%Y') Metro2.numeric_to_metro2(val, 8) end end
monetary_field(name)
click to toggle source
# File lib/metro_2/fields.rb, line 73 def monetary_field(name) numeric_field(name, 9, is_monetary: true) end
numeric_const_field(name, required_length, val, is_monetary = false)
click to toggle source
# File lib/metro_2/fields.rb, line 59 def numeric_const_field(name, required_length, val, is_monetary = false) fields << name # getter define_method name do val end # to_metro2 define_method "#{name}_to_metro2" do Metro2.numeric_to_metro2(val, required_length, is_monetary: is_monetary) end end
numeric_field(name, required_length, is_monetary: false, possible_values: nil)
click to toggle source
# File lib/metro_2/fields.rb, line 23 def numeric_field(name, required_length, is_monetary: false, possible_values: nil) fields << name # getter define_method name do instance_variable_get("@#{name}") end # setter (includes validations) define_method "#{name}=" do | val | instance_variable_set("@#{name}", val) end # to_metro2 define_method "#{name}_to_metro2" do val = instance_variable_get("@#{name}") Metro2.numeric_to_metro2(val, required_length, is_monetary: is_monetary, name: name, possible_values: possible_values) end end
timestamp_field(name)
click to toggle source
# File lib/metro_2/fields.rb, line 100 def timestamp_field(name) fields << name # getter define_method name do instance_variable_get("@#{name}") end # setter (includes validations) define_method "#{name}=" do | val | instance_variable_set("@#{name}", val) end # to_metro2 define_method "#{name}_to_metro2" do # Right justified and zero-filled val = instance_variable_get("@#{name}") val = val&.strftime('%m%d%Y%H%M%S') Metro2.numeric_to_metro2(val, 14) end end