class Eddy::Models::Element::AN

Alphanumeric string including special characters

Public Class Methods

new( min:, max:, req: nil, ref: nil, val: nil ) click to toggle source

@param min [Integer] @param max [Integer] @param req [String] (nil) @param ref [String] (nil) @param val [String] (nil) @return [void]

# File lib/eddy/models/element/an.rb, line 13
def initialize(
  min:,
  max:,
  req: nil,
  ref: nil,
  val: nil
)
  @type = "AN"
  @min = min
  @max = max
  self.req = req
  self.ref = ref
  self.value = val
end
process_value(val, min, _max) click to toggle source

Left justify a string (`val`) to `min`.

@param val [String] Original value. @param min [Integer] Minimum length for a valid value. @param _max [Integer] Maximum length for a valid value. @return [String]

# File lib/eddy/models/element/an.rb, line 62
def self.process_value(val, min, _max)
  return val.ljust(min)
end

Public Instance Methods

process_value() click to toggle source

@return [String]

# File lib/eddy/models/element/an.rb, line 52
def process_value()
  return self.class.process_value(@val, self.min, self.max)
end
value() click to toggle source

@raise [Eddy::Errors::ElementNilValueError] If the element is required and no value has been set. @return [String]

Calls superclass method
# File lib/eddy/models/element/an.rb, line 47
def value()
  return super()
end
value=(arg) click to toggle source

@raise [Eddy::Errors::ElementValidationError] @param arg [String] @return [void]

# File lib/eddy/models/element/an.rb, line 31
def value=(arg)
  if arg == :skip
    @val = :skip
    return
  end
  if arg.nil?()
    @val = arg
    return
  end
  raise Eddy::Errors::TypeValidationError.new(element: self, arg: arg) unless arg.is_a?(String)
  raise Eddy::Errors::LengthValidationError.new(element: self, arg: arg) if arg.length > self.max
  @val = arg
end