Class: Stupidedi::Versions::FunctionalGroups::FortyTen::ElementTypes::DateVal::Invalid

Inherits:
Stupidedi::Versions::FunctionalGroups::FortyTen::ElementTypes::DateVal show all
Defined in:
lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb

Overview

Models invalid dates, either with a bad format or a date that does not exist (eg Febuary 30th 2000)

Instance Attribute Summary collapse

Attributes inherited from Stupidedi::Values::SimpleElementVal

#position, #usage

Instance Method Summary collapse

Methods inherited from Stupidedi::Versions::FunctionalGroups::FortyTen::ElementTypes::DateVal

#date?, empty, parse, #too_long?, #too_short?, value

Methods inherited from Stupidedi::Values::SimpleElementVal

#allowed?, #component?, #copy, #date?, #definition, #id?, #leaf?, #numeric?, #simple?, #string?, #time?, #to_x12

Methods inherited from Stupidedi::Values::AbstractElementVal

#element?, #size

Methods inherited from Stupidedi::Values::AbstractVal

#blank?, #characters, #component?, #composite?, #definition, #element?, #functional_group?, #interchange?, #invalid?, #loop?, #present?, #repeated?, #segment?, #separator?, #simple?, #size, #table?, #transaction_set?, #transmission?

Methods included from Color

ansi, #ansi

Constructor Details

#initialize(value, usage, position) ⇒ Invalid

Returns a new instance of Invalid.



59
60
61
62
# File 'lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb', line 59

def initialize(value, usage, position)
  super(usage, position)
  @value = value
end

Instance Attribute Details

#valueObject (readonly)

Returns:



57
58
59
# File 'lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb', line 57

def value
  @value
end

Instance Method Details

#==(other) ⇒ Object



93
94
95
96
# File 'lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb', line 93

def ==(other)
  eql?(other) or
    (other.is_a?(Invalid) and @value == other.value)
end

#empty?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb', line 68

def empty?
  false
end

#inspectObject



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb', line 72

def inspect
  id = definition.bind do |d|
    "[#{'% 5s' % d.id}: #{d.name}]".bind do |s|
      if usage.forbidden?
        ansi.forbidden(s)
      elsif usage.required?
        ansi.required(s)
      else
        ansi.optional(s)
      end
    end
  end

  ansi.element("DT.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
end

#to_sString

Returns:



89
90
91
# File 'lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb', line 89

def to_s
  ""
end

#valid?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb', line 64

def valid?
  false
end