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)

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

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:

  • (AbstractSet<String>)

120
121
122
123
124
125
126
127
128
129
130
# File 'lib/stupidedi/values/abstract_val.rb', line 120

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)

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

def component?
  false
end

#composite?Boolean

Is this a CompositeElementVal?

Returns:

  • (Boolean)

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

def composite?
  false
end

#definitionSimpleElementDef, ...

Returns:

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

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

abstract :definition

#descriptorString

Returns:

  • (String)

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

abstract :descriptor

#element?Boolean

Returns:

  • (Boolean)

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

def element?
  false
end

#empty?Boolean

Returns:

  • (Boolean)

See Also:

  • B.1.3.10 Absence of Data

17
18
19
# File 'lib/stupidedi/values/abstract_val.rb', line 17

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

#functional_group?Boolean

Is this an FunctionalGroupVal?

Returns:

  • (Boolean)

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

def functional_group?
  false
end

#interchange?Boolean

Is this an InterchangeVal?

Returns:

  • (Boolean)

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

def interchange?
  false
end

#invalid?Boolean

Returns:

  • (Boolean)

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

def invalid?
  not valid?
end

#leaf?Boolean

This method is abstract.

Returns:

  • (Boolean)

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

abstract :leaf?

#loop?Boolean

Is this a LoopVal?

Returns:

  • (Boolean)

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

def loop?
  false
end

#present?Boolean

Is the element not blank?

Returns:

  • (Boolean)

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

def present?
  not empty?
end

#repeated?Boolean

Returns:

  • (Boolean)

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

def repeated?
  false
end

#segment?Boolean

Returns:

  • (Boolean)

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

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)

112
113
114
# File 'lib/stupidedi/values/abstract_val.rb', line 112

def separator?
  false
end

#simple?Boolean

Is this a non-component SimpleElementVal?

Returns:

  • (Boolean)

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

def simple?
  false
end

#sizeInteger

Number of segments in this subtree

Returns:

  • (Integer)

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

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

#table?Boolean

Is this a TableVal?

Returns:

  • (Boolean)

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

def table?
  false
end

#transaction_set?Boolean

Is this an TransactionSetVal?

Returns:

  • (Boolean)

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

def transaction_set?
  false
end

#transmission?Boolean

Is this a TransmissionVal?

Returns:

  • (Boolean)

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

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)

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

def valid?
  true
end