Class: Stupidedi::Values::AbstractVal

Inherits:
Object
  • Object
show all
Includes:
Color, Inspect
Defined in:
lib/stupidedi/values/abstract_val.rb

Instance Method Summary collapse

Methods included from Color

ansi, #ansi

Methods included from Inspect

#inspect

Instance Method Details

#blank?Boolean

Is the element not present?



41
42
43
# File 'lib/stupidedi/values/abstract_val.rb', line 41

def blank?
  empty?
end

#characters(result = Sets.absolute([], Reader::C_BYTES.split(//))) ⇒ AbstractSet<String>

Returns the set of characters that are used as data in this subtree, not including the separator (delimiter) elements found in the ISA segment.



115
116
117
118
119
120
121
122
123
124
125
# File 'lib/stupidedi/values/abstract_val.rb', line 115

def characters(result = Sets.absolute([], Reader::C_BYTES.split(//)))
  if leaf?
    if present? and not separator?
      result | to_x12.split(//)
    else
      result
    end
  else
    children.inject(result){|r,c| c.characters(r) }
  end
end

#component?Boolean

Is this a component SimpleElementVal?



91
92
93
# File 'lib/stupidedi/values/abstract_val.rb', line 91

def component?
  false
end

#composite?Boolean

Is this a CompositeElementVal?



86
87
88
# File 'lib/stupidedi/values/abstract_val.rb', line 86

def composite?
  false
end

#definitionSimpleElementDef, ...



9
# File 'lib/stupidedi/values/abstract_val.rb', line 9

abstract :definition

#element?Boolean



81
82
83
# File 'lib/stupidedi/values/abstract_val.rb', line 81

def element?
  false
end

#empty?Boolean

See Also:

  • B.1.3.10 Absence of Data


12
13
14
# File 'lib/stupidedi/values/abstract_val.rb', line 12

def empty?
  @children.all?(&:empty?)
end

#functional_group?Boolean

Is this an FunctionalGroupVal?



56
57
58
# File 'lib/stupidedi/values/abstract_val.rb', line 56

def functional_group?
  false
end

#interchange?Boolean

Is this an InterchangeVal?



51
52
53
# File 'lib/stupidedi/values/abstract_val.rb', line 51

def interchange?
  false
end

#invalid?Boolean



31
32
33
# File 'lib/stupidedi/values/abstract_val.rb', line 31

def invalid?
  not valid?
end

#loop?Boolean

Is this a LoopVal?



71
72
73
# File 'lib/stupidedi/values/abstract_val.rb', line 71

def loop?
  false
end

#present?Boolean

Is the element not blank?



36
37
38
# File 'lib/stupidedi/values/abstract_val.rb', line 36

def present?
  not empty?
end

#repeated?Boolean



96
97
98
# File 'lib/stupidedi/values/abstract_val.rb', line 96

def repeated?
  false
end

#segment?Boolean



76
77
78
# File 'lib/stupidedi/values/abstract_val.rb', line 76

def segment?
  false
end

#separator?Boolean

Is this a simple element that represents a separator (delimiter)? For instance, ISA16 represents the repetition separator in version 00501.



107
108
109
# File 'lib/stupidedi/values/abstract_val.rb', line 107

def separator?
  false
end

#simple?Boolean

Is this a non-component SimpleElementVal?



101
102
103
# File 'lib/stupidedi/values/abstract_val.rb', line 101

def simple?
  false
end

#sizeInteger

Number of segments in this subtree



21
22
23
# File 'lib/stupidedi/values/abstract_val.rb', line 21

def size
  @children.sum(&:size)
end

#table?Boolean

Is this a TableVal?



66
67
68
# File 'lib/stupidedi/values/abstract_val.rb', line 66

def table?
  false
end

#transaction_set?Boolean

Is this an TransactionSetVal?



61
62
63
# File 'lib/stupidedi/values/abstract_val.rb', line 61

def transaction_set?
  false
end

#transmission?Boolean

Is this a TransmissionVal?



46
47
48
# File 'lib/stupidedi/values/abstract_val.rb', line 46

def transmission?
  false
end

#valid?Boolean

True except for InvalidSegmentVal and Stupidedi::Values::AbstractElementVal values that could not be parsed -- "abc" in a numeric field, for example.



27
28
29
# File 'lib/stupidedi/values/abstract_val.rb', line 27

def valid?
  true
end