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?

Returns:

  • (Boolean)


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.

Returns:



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?

Returns:

  • (Boolean)


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

def component?
  false
end

#composite?Boolean

Is this a CompositeElementVal?

Returns:

  • (Boolean)


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

def composite?
  false
end

#definitionSimpleElementDef, ...

Returns:

  • (SimpleElementDef, CompositeElementDef, LoopDef, SegmentDef, TableDef)


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

abstract :definition

#element?Boolean

Returns:

  • (Boolean)


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

def element?
  false
end

#empty?Boolean

Returns:

  • (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?

Returns:

  • (Boolean)


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

def functional_group?
  false
end

#interchange?Boolean

Is this an InterchangeVal?

Returns:

  • (Boolean)


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

def interchange?
  false
end

#invalid?Boolean

Returns:

  • (Boolean)


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

def invalid?
  not valid?
end

#loop?Boolean

Is this a LoopVal?

Returns:

  • (Boolean)


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

def loop?
  false
end

#present?Boolean

Is the element not blank?

Returns:

  • (Boolean)


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

def present?
  not empty?
end

#repeated?Boolean

Returns:

  • (Boolean)


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

def repeated?
  false
end

#segment?Boolean

Returns:

  • (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.

Returns:

  • (Boolean)


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

def separator?
  false
end

#simple?Boolean

Is this a non-component SimpleElementVal?

Returns:

  • (Boolean)


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

def simple?
  false
end

#sizeInteger

Number of segments in this subtree

Returns:



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

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

#table?Boolean

Is this a TableVal?

Returns:

  • (Boolean)


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

def table?
  false
end

#transaction_set?Boolean

Is this an TransactionSetVal?

Returns:

  • (Boolean)


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

def transaction_set?
  false
end

#transmission?Boolean

Is this a TransmissionVal?

Returns:

  • (Boolean)


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.

Returns:

  • (Boolean)


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

def valid?
  true
end