class Eddy::Models::Element::ID
Identifier. Works with a code list specified by the dictionary.
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/id.rb, line 13 def initialize( min:, max:, req: nil, ref: nil, val: nil ) @type = "ID" @min = min @max = max self.req = req self.ref = ref self.value = val end
process_value(val)
click to toggle source
@param val [String] Original value. @return [String]
# File lib/eddy/models/element/id.rb, line 56 def self.process_value(val) return val end
Public Instance Methods
code_list()
click to toggle source
@return [Array<String>]
# File lib/eddy/models/element/id.rb, line 61 def code_list() raise NotImplementedError, "Each ID element must define its own code_list" end
process_value()
click to toggle source
@return [String]
# File lib/eddy/models/element/id.rb, line 50 def process_value() return self.class.process_value(@val) 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
Eddy::Models::Element::Base#value
# File lib/eddy/models/element/id.rb, line 45 def value() return super() end
value=(arg)
click to toggle source
@param arg [String] return [void]
# File lib/eddy/models/element/id.rb, line 30 def value=(arg) if arg == :skip @val = :skip return end if arg.nil?() @val = arg return end raise Eddy::Errors::ElementValidationError.new("Value not present in code list: #{arg}", element: self) unless self.code_list().include?(arg) @val = arg end