tediparse 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +319 -0
  3. data/LICENSE +26 -0
  4. data/README.md +308 -0
  5. data/Rakefile +33 -0
  6. data/bin/tediparse +102 -0
  7. data/doc/Defining.md +97 -0
  8. data/doc/Generating-Grammars.md +241 -0
  9. data/doc/Generating.md +332 -0
  10. data/doc/Navigating.md +670 -0
  11. data/doc/Parsing.md +133 -0
  12. data/doc/README.md +51 -0
  13. data/doc/Serializing.md +100 -0
  14. data/doc/Tokenizing.md +136 -0
  15. data/doc/Validating.md +140 -0
  16. data/lib/ruby/array.rb +226 -0
  17. data/lib/ruby/blank.rb +52 -0
  18. data/lib/ruby/exception.rb +14 -0
  19. data/lib/ruby/hash.rb +14 -0
  20. data/lib/ruby/module.rb +60 -0
  21. data/lib/ruby/object.rb +56 -0
  22. data/lib/ruby/string.rb +89 -0
  23. data/lib/ruby/to_d.rb +82 -0
  24. data/lib/ruby/to_date.rb +26 -0
  25. data/lib/ruby/to_time.rb +21 -0
  26. data/lib/ruby/try.rb +46 -0
  27. data/lib/stupidedi/builder.rb +6 -0
  28. data/lib/stupidedi/color.rb +94 -0
  29. data/lib/stupidedi/config/code_list_config.rb +45 -0
  30. data/lib/stupidedi/config/functional_group_config.rb +72 -0
  31. data/lib/stupidedi/config/interchange_config.rb +86 -0
  32. data/lib/stupidedi/config/transaction_set_config.rb +73 -0
  33. data/lib/stupidedi/config.rb +100 -0
  34. data/lib/stupidedi/either.rb +286 -0
  35. data/lib/stupidedi/exceptions/invalid_element_error.rb +7 -0
  36. data/lib/stupidedi/exceptions/invalid_schema_error.rb +7 -0
  37. data/lib/stupidedi/exceptions/missing_grammar_error.rb +50 -0
  38. data/lib/stupidedi/exceptions/output_error.rb +7 -0
  39. data/lib/stupidedi/exceptions/parse_error.rb +7 -0
  40. data/lib/stupidedi/exceptions/stupidedi_error.rb +7 -0
  41. data/lib/stupidedi/exceptions/tokenize_error.rb +7 -0
  42. data/lib/stupidedi/exceptions/zipper_error.rb +7 -0
  43. data/lib/stupidedi/exceptions.rb +13 -0
  44. data/lib/stupidedi/inspect.rb +26 -0
  45. data/lib/stupidedi/interchanges/element_types/separator_val.rb +79 -0
  46. data/lib/stupidedi/interchanges/element_types/special_val.rb +48 -0
  47. data/lib/stupidedi/interchanges/element_types.rb +11 -0
  48. data/lib/stupidedi/interchanges.rb +21 -0
  49. data/lib/stupidedi/parser/builder_dsl.rb +292 -0
  50. data/lib/stupidedi/parser/constraint_table.rb +566 -0
  51. data/lib/stupidedi/parser/generation.rb +147 -0
  52. data/lib/stupidedi/parser/identifier_stack.rb +248 -0
  53. data/lib/stupidedi/parser/instruction.rb +112 -0
  54. data/lib/stupidedi/parser/instruction_table.rb +222 -0
  55. data/lib/stupidedi/parser/navigation.rb +786 -0
  56. data/lib/stupidedi/parser/state_machine.rb +62 -0
  57. data/lib/stupidedi/parser/states/abstract_state.rb +385 -0
  58. data/lib/stupidedi/parser/states/failure_state.rb +69 -0
  59. data/lib/stupidedi/parser/states/functional_group_state.rb +101 -0
  60. data/lib/stupidedi/parser/states/initial_state.rb +62 -0
  61. data/lib/stupidedi/parser/states/interchange_state.rb +96 -0
  62. data/lib/stupidedi/parser/states/loop_state.rb +74 -0
  63. data/lib/stupidedi/parser/states/table_state.rb +90 -0
  64. data/lib/stupidedi/parser/states/transaction_set_state.rb +120 -0
  65. data/lib/stupidedi/parser/states/transmission_state.rb +59 -0
  66. data/lib/stupidedi/parser/tokenization.rb +195 -0
  67. data/lib/stupidedi/parser.rb +32 -0
  68. data/lib/stupidedi/reader/input/abstract_input.rb +137 -0
  69. data/lib/stupidedi/reader/input/delegated_input.rb +112 -0
  70. data/lib/stupidedi/reader/input/file_input.rb +157 -0
  71. data/lib/stupidedi/reader/input.rb +31 -0
  72. data/lib/stupidedi/reader/position.rb +78 -0
  73. data/lib/stupidedi/reader/result.rb +172 -0
  74. data/lib/stupidedi/reader/segment_dict.rb +176 -0
  75. data/lib/stupidedi/reader/separators.rb +90 -0
  76. data/lib/stupidedi/reader/stream_reader.rb +173 -0
  77. data/lib/stupidedi/reader/token_reader.rb +465 -0
  78. data/lib/stupidedi/reader/tokens/component_element_tok.rb +71 -0
  79. data/lib/stupidedi/reader/tokens/composite_element_tok.rb +85 -0
  80. data/lib/stupidedi/reader/tokens/repeated_element_tok.rb +74 -0
  81. data/lib/stupidedi/reader/tokens/segment_tok.rb +74 -0
  82. data/lib/stupidedi/reader/tokens/simple_element_tok.rb +76 -0
  83. data/lib/stupidedi/reader.rb +121 -0
  84. data/lib/stupidedi/schema/abstract_def.rb +76 -0
  85. data/lib/stupidedi/schema/abstract_element_def.rb +35 -0
  86. data/lib/stupidedi/schema/abstract_element_use.rb +47 -0
  87. data/lib/stupidedi/schema/abstract_use.rb +79 -0
  88. data/lib/stupidedi/schema/code_list.rb +99 -0
  89. data/lib/stupidedi/schema/component_element_use.rb +76 -0
  90. data/lib/stupidedi/schema/composite_element_def.rb +103 -0
  91. data/lib/stupidedi/schema/composite_element_use.rb +78 -0
  92. data/lib/stupidedi/schema/element_req.rb +57 -0
  93. data/lib/stupidedi/schema/functional_group_def.rb +124 -0
  94. data/lib/stupidedi/schema/generation/definition_generator.rb +139 -0
  95. data/lib/stupidedi/schema/generation/element_generator.rb +221 -0
  96. data/lib/stupidedi/schema/generation/flat_file_reader.rb +551 -0
  97. data/lib/stupidedi/schema/generation/functional_group_generator.rb +64 -0
  98. data/lib/stupidedi/schema/generation/interchange_generator.rb +145 -0
  99. data/lib/stupidedi/schema/generation/master_loader_generator.rb +121 -0
  100. data/lib/stupidedi/schema/generation/models.rb +85 -0
  101. data/lib/stupidedi/schema/generation/module_loader_generator.rb +64 -0
  102. data/lib/stupidedi/schema/generation/registration_generator.rb +230 -0
  103. data/lib/stupidedi/schema/generation/runner.rb +161 -0
  104. data/lib/stupidedi/schema/generation/segment_generator.rb +130 -0
  105. data/lib/stupidedi/schema/generation/support.rb +78 -0
  106. data/lib/stupidedi/schema/generation/support_modules_generator.rb +126 -0
  107. data/lib/stupidedi/schema/generation/version_modules.rb +35 -0
  108. data/lib/stupidedi/schema/generation.rb +94 -0
  109. data/lib/stupidedi/schema/interchange_def.rb +103 -0
  110. data/lib/stupidedi/schema/loop_def.rb +156 -0
  111. data/lib/stupidedi/schema/repeat_count.rb +86 -0
  112. data/lib/stupidedi/schema/segment_def.rb +122 -0
  113. data/lib/stupidedi/schema/segment_req.rb +46 -0
  114. data/lib/stupidedi/schema/segment_use.rb +99 -0
  115. data/lib/stupidedi/schema/simple_element_def.rb +51 -0
  116. data/lib/stupidedi/schema/simple_element_use.rb +83 -0
  117. data/lib/stupidedi/schema/syntax_note.rb +52 -0
  118. data/lib/stupidedi/schema/table_def.rb +178 -0
  119. data/lib/stupidedi/schema/transaction_set_def.rb +125 -0
  120. data/lib/stupidedi/schema.rb +30 -0
  121. data/lib/stupidedi/sets.rb +42 -0
  122. data/lib/stupidedi/transaction_sets/builder/dsl.rb +192 -0
  123. data/lib/stupidedi/transaction_sets/builder.rb +188 -0
  124. data/lib/stupidedi/transaction_sets/common/implementations/element_reqs.rb +37 -0
  125. data/lib/stupidedi/transaction_sets/common/implementations/segment_reqs.rb +31 -0
  126. data/lib/stupidedi/transaction_sets/common/implementations.rb +11 -0
  127. data/lib/stupidedi/transaction_sets/common.rb +8 -0
  128. data/lib/stupidedi/transaction_sets/validation/ambiguity.rb +395 -0
  129. data/lib/stupidedi/transaction_sets/validation/implementation.rb +12 -0
  130. data/lib/stupidedi/transaction_sets/validation.rb +9 -0
  131. data/lib/stupidedi/transaction_sets.rb +25 -0
  132. data/lib/stupidedi/values/abstract_element_val.rb +19 -0
  133. data/lib/stupidedi/values/abstract_val.rb +133 -0
  134. data/lib/stupidedi/values/composite_element_val.rb +102 -0
  135. data/lib/stupidedi/values/functional_group_val.rb +105 -0
  136. data/lib/stupidedi/values/interchange_val.rb +102 -0
  137. data/lib/stupidedi/values/invalid_envelope_val.rb +61 -0
  138. data/lib/stupidedi/values/invalid_segment_val.rb +89 -0
  139. data/lib/stupidedi/values/loop_val.rb +73 -0
  140. data/lib/stupidedi/values/repeated_element_val.rb +113 -0
  141. data/lib/stupidedi/values/segment_val.rb +105 -0
  142. data/lib/stupidedi/values/segment_val_group.rb +20 -0
  143. data/lib/stupidedi/values/simple_element_val.rb +80 -0
  144. data/lib/stupidedi/values/table_val.rb +69 -0
  145. data/lib/stupidedi/values/transaction_set_val.rb +69 -0
  146. data/lib/stupidedi/values/transmission_val.rb +56 -0
  147. data/lib/stupidedi/values.rb +22 -0
  148. data/lib/stupidedi/version.rb +4 -0
  149. data/lib/stupidedi/versions/common/element_reqs.rb +13 -0
  150. data/lib/stupidedi/versions/common/element_types/an.rb +386 -0
  151. data/lib/stupidedi/versions/common/element_types/dt.rb +572 -0
  152. data/lib/stupidedi/versions/common/element_types/id.rb +304 -0
  153. data/lib/stupidedi/versions/common/element_types/nn.rb +312 -0
  154. data/lib/stupidedi/versions/common/element_types/operators.rb +128 -0
  155. data/lib/stupidedi/versions/common/element_types/r.rb +342 -0
  156. data/lib/stupidedi/versions/common/element_types/simple_element.rb +73 -0
  157. data/lib/stupidedi/versions/common/element_types/tm.rb +347 -0
  158. data/lib/stupidedi/versions/common/element_types.rb +29 -0
  159. data/lib/stupidedi/versions/common/segment_reqs.rb +15 -0
  160. data/lib/stupidedi/versions/common/syntax_notes.rb +172 -0
  161. data/lib/stupidedi/versions/common.rb +11 -0
  162. data/lib/stupidedi/versions.rb +25 -0
  163. data/lib/stupidedi/writer/claredi.rb +178 -0
  164. data/lib/stupidedi/writer/default.rb +119 -0
  165. data/lib/stupidedi/writer.rb +7 -0
  166. data/lib/stupidedi/zipper/abstract_cursor.rb +351 -0
  167. data/lib/stupidedi/zipper/dangling_cursor.rb +103 -0
  168. data/lib/stupidedi/zipper/edited_cursor.rb +157 -0
  169. data/lib/stupidedi/zipper/memoized_cursor.rb +133 -0
  170. data/lib/stupidedi/zipper/path.rb +132 -0
  171. data/lib/stupidedi/zipper/root_cursor.rb +120 -0
  172. data/lib/stupidedi/zipper/stack_cursor.rb +107 -0
  173. data/lib/stupidedi/zipper.rb +45 -0
  174. data/lib/stupidedi.rb +69 -0
  175. data/lib/tediparse.rb +1 -0
  176. metadata +249 -0
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ using Refinements
4
+
5
+ module Zipper
6
+ class StackCursor < AbstractCursor
7
+ # @return [#leaf?, #children, #copy]
8
+ attr_reader :node
9
+
10
+ # @return [Hole]
11
+ attr_reader :path
12
+
13
+ # @private
14
+ # @return [AbstractCursor]
15
+ attr_reader :parent
16
+
17
+ def initialize(node, path, parent)
18
+ @node, @path, @parent =
19
+ node, path, parent
20
+ end
21
+
22
+ # @group Querying the Tree Location
23
+ #########################################################################
24
+
25
+ # (see AbstractCursor#leaf?)
26
+ def leaf?
27
+ @node.leaf? or @node.children.empty?
28
+ end
29
+
30
+ # (see AbstractCursor#root?)
31
+ def root?
32
+ @path.root?
33
+ end
34
+
35
+ # @group Traversing the Tree
36
+ #########################################################################
37
+
38
+ # (see AbstractCursor#last)
39
+ def last
40
+ self
41
+ end
42
+
43
+ # (see AbstractCursor#up)
44
+ def up
45
+ if root?
46
+ raise Exceptions::ZipperError,
47
+ "root node has no siblings"
48
+ end
49
+
50
+ @parent
51
+ end
52
+
53
+ # @group Editing the Tree
54
+ #########################################################################
55
+
56
+ # (see AbstractCursor#append)
57
+ # @return [void]
58
+ def append(node)
59
+ if root?
60
+ raise Exceptions::ZipperError,
61
+ "root node has no siblings"
62
+ end
63
+
64
+ replace(node)
65
+ end
66
+
67
+ # (see AbstractCursor#prepend)
68
+ # @return [void]
69
+ def prepend(node)
70
+ if root?
71
+ raise Exceptions::ZipperError,
72
+ "root node has no siblings"
73
+ end
74
+
75
+ replace(node)
76
+ end
77
+
78
+ def append_child(child)
79
+ StackCursor.new(child, Hole.new([], @path, []), self)
80
+ end
81
+
82
+ # (see AbstractCursor#replace)
83
+ # @return [RootCursor]
84
+ def replace(node)
85
+ StackCursor.new(node, @path, @parent)
86
+ end
87
+
88
+ def dangle
89
+ if leaf?
90
+ StackCursor.new(nil, Hole.new([], @path, []), self)
91
+ else
92
+ head, *tail = @node.children
93
+
94
+ unless tail.empty?
95
+ raise Exceptions::ZipperError,
96
+ "stack cursor doesn't support nodes with multiple children"
97
+ end
98
+
99
+ StackCursor.new(head, Hole.new([], @path, []), self)
100
+ end
101
+ end
102
+
103
+ # @endgroup
104
+ #########################################################################
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ using Refinements
4
+
5
+ module Zipper
6
+ autoload :AbstractCursor, "stupidedi/zipper/abstract_cursor"
7
+ autoload :DanglingCursor, "stupidedi/zipper/dangling_cursor"
8
+ autoload :EditedCursor, "stupidedi/zipper/edited_cursor"
9
+ autoload :MemoizedCursor, "stupidedi/zipper/memoized_cursor"
10
+ autoload :RootCursor, "stupidedi/zipper/root_cursor"
11
+ autoload :StackCursor, "stupidedi/zipper/stack_cursor"
12
+
13
+ autoload :AbstractPath, "stupidedi/zipper/path"
14
+ autoload :Hole, "stupidedi/zipper/path"
15
+ autoload :Root, "stupidedi/zipper/path"
16
+
17
+ # @todo
18
+ module Tree
19
+ class << self
20
+ def build(node)
21
+ Zipper::RootCursor.new(node)
22
+ end
23
+ end
24
+ end
25
+
26
+ # @todo
27
+ module Stack
28
+ class << self
29
+ def build(node)
30
+ Zipper::StackCursor.new(node, Zipper::Root, nil)
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ class << Zipper
37
+ # @group Constructors
38
+ ###########################################################################
39
+
40
+ # @return [AbstractCursor]
41
+ def build(node)
42
+ Zipper::Tree.build(node)
43
+ end
44
+ end
45
+ end
data/lib/stupidedi.rb ADDED
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+ require "bigdecimal"
3
+ require "time"
4
+ require "date"
5
+ require "set"
6
+
7
+ begin
8
+ require "term/ansicolor" if $stdout.tty?
9
+ rescue LoadError
10
+ warn "terminal color disabled. gem install term-ansicolor to enable"
11
+ end
12
+
13
+ $:.unshift(File.expand_path("..", __FILE__))
14
+
15
+ require "ruby/array"
16
+ require "ruby/blank"
17
+ require "ruby/exception"
18
+ require "ruby/hash"
19
+ require "ruby/module"
20
+ require "ruby/object"
21
+ require "ruby/string"
22
+ require "ruby/to_d"
23
+ require "ruby/to_date"
24
+ require "ruby/to_time"
25
+ require "ruby/try"
26
+
27
+ module Stupidedi
28
+ # @todo deprecated
29
+ autoload :Builder, "stupidedi/builder"
30
+
31
+ autoload :Color, "stupidedi/color"
32
+ autoload :Config, "stupidedi/config"
33
+ autoload :Either, "stupidedi/either"
34
+ autoload :Exceptions, "stupidedi/exceptions"
35
+ autoload :Inspect, "stupidedi/inspect"
36
+ autoload :Interchanges, "stupidedi/interchanges"
37
+ autoload :Parser, "stupidedi/parser"
38
+ autoload :Reader, "stupidedi/reader"
39
+ autoload :Schema, "stupidedi/schema"
40
+ autoload :Sets, "stupidedi/sets"
41
+ autoload :TransactionSets, "stupidedi/transaction_sets"
42
+ autoload :Values, "stupidedi/values"
43
+ autoload :Versions, "stupidedi/versions"
44
+ autoload :Writer, "stupidedi/writer"
45
+ autoload :Zipper, "stupidedi/zipper"
46
+ autoload :VERSION, "stupidedi/version"
47
+
48
+ # Top-level namespaces that lived under +Stupidedi+ in the upstream
49
+ # stupidedi gem (the ack/editor subsystem, the +Contrib+ extras, and
50
+ # the +Guides+ implementation-guide tree). tediparse does not ship
51
+ # them; reach for one by name and we surface a helpful error rather
52
+ # than +NameError+.
53
+ REMOVED_TOP_LEVEL = %i[Editor Contrib Guides].freeze
54
+ private_constant :REMOVED_TOP_LEVEL
55
+
56
+ def self.const_missing(name)
57
+ if REMOVED_TOP_LEVEL.include?(name.to_sym)
58
+ raise Stupidedi::Exceptions::MissingGrammarError.new("#{self}::#{name}")
59
+ end
60
+
61
+ super
62
+ end
63
+
64
+ def self.caller(depth = 2)
65
+ if k = ::Kernel.caller.at(depth - 1)
66
+ k.split(":")
67
+ end
68
+ end
69
+ end
data/lib/tediparse.rb ADDED
@@ -0,0 +1 @@
1
+ require "stupidedi"
metadata ADDED
@@ -0,0 +1,249 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tediparse
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Kyle Putnam
8
+ - Isi Robayna
9
+ - Adrian Duyzer
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2026-08-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: term-ansicolor
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.3'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.3'
28
+ - !ruby/object:Gem::Dependency
29
+ name: cantor
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 1.2.1
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 1.2.1
42
+ description: A fork of stupidedi by Kyle Putnam. A parser and generator for X12 EDI
43
+ documents. X12 content is not included — users must supply their own licensed X12
44
+ data.
45
+ email: adrian@tediware.com
46
+ executables:
47
+ - tediparse
48
+ extensions: []
49
+ extra_rdoc_files: []
50
+ files:
51
+ - CHANGELOG.md
52
+ - LICENSE
53
+ - README.md
54
+ - Rakefile
55
+ - bin/tediparse
56
+ - doc/Defining.md
57
+ - doc/Generating-Grammars.md
58
+ - doc/Generating.md
59
+ - doc/Navigating.md
60
+ - doc/Parsing.md
61
+ - doc/README.md
62
+ - doc/Serializing.md
63
+ - doc/Tokenizing.md
64
+ - doc/Validating.md
65
+ - lib/ruby/array.rb
66
+ - lib/ruby/blank.rb
67
+ - lib/ruby/exception.rb
68
+ - lib/ruby/hash.rb
69
+ - lib/ruby/module.rb
70
+ - lib/ruby/object.rb
71
+ - lib/ruby/string.rb
72
+ - lib/ruby/to_d.rb
73
+ - lib/ruby/to_date.rb
74
+ - lib/ruby/to_time.rb
75
+ - lib/ruby/try.rb
76
+ - lib/stupidedi.rb
77
+ - lib/stupidedi/builder.rb
78
+ - lib/stupidedi/color.rb
79
+ - lib/stupidedi/config.rb
80
+ - lib/stupidedi/config/code_list_config.rb
81
+ - lib/stupidedi/config/functional_group_config.rb
82
+ - lib/stupidedi/config/interchange_config.rb
83
+ - lib/stupidedi/config/transaction_set_config.rb
84
+ - lib/stupidedi/either.rb
85
+ - lib/stupidedi/exceptions.rb
86
+ - lib/stupidedi/exceptions/invalid_element_error.rb
87
+ - lib/stupidedi/exceptions/invalid_schema_error.rb
88
+ - lib/stupidedi/exceptions/missing_grammar_error.rb
89
+ - lib/stupidedi/exceptions/output_error.rb
90
+ - lib/stupidedi/exceptions/parse_error.rb
91
+ - lib/stupidedi/exceptions/stupidedi_error.rb
92
+ - lib/stupidedi/exceptions/tokenize_error.rb
93
+ - lib/stupidedi/exceptions/zipper_error.rb
94
+ - lib/stupidedi/inspect.rb
95
+ - lib/stupidedi/interchanges.rb
96
+ - lib/stupidedi/interchanges/element_types.rb
97
+ - lib/stupidedi/interchanges/element_types/separator_val.rb
98
+ - lib/stupidedi/interchanges/element_types/special_val.rb
99
+ - lib/stupidedi/parser.rb
100
+ - lib/stupidedi/parser/builder_dsl.rb
101
+ - lib/stupidedi/parser/constraint_table.rb
102
+ - lib/stupidedi/parser/generation.rb
103
+ - lib/stupidedi/parser/identifier_stack.rb
104
+ - lib/stupidedi/parser/instruction.rb
105
+ - lib/stupidedi/parser/instruction_table.rb
106
+ - lib/stupidedi/parser/navigation.rb
107
+ - lib/stupidedi/parser/state_machine.rb
108
+ - lib/stupidedi/parser/states/abstract_state.rb
109
+ - lib/stupidedi/parser/states/failure_state.rb
110
+ - lib/stupidedi/parser/states/functional_group_state.rb
111
+ - lib/stupidedi/parser/states/initial_state.rb
112
+ - lib/stupidedi/parser/states/interchange_state.rb
113
+ - lib/stupidedi/parser/states/loop_state.rb
114
+ - lib/stupidedi/parser/states/table_state.rb
115
+ - lib/stupidedi/parser/states/transaction_set_state.rb
116
+ - lib/stupidedi/parser/states/transmission_state.rb
117
+ - lib/stupidedi/parser/tokenization.rb
118
+ - lib/stupidedi/reader.rb
119
+ - lib/stupidedi/reader/input.rb
120
+ - lib/stupidedi/reader/input/abstract_input.rb
121
+ - lib/stupidedi/reader/input/delegated_input.rb
122
+ - lib/stupidedi/reader/input/file_input.rb
123
+ - lib/stupidedi/reader/position.rb
124
+ - lib/stupidedi/reader/result.rb
125
+ - lib/stupidedi/reader/segment_dict.rb
126
+ - lib/stupidedi/reader/separators.rb
127
+ - lib/stupidedi/reader/stream_reader.rb
128
+ - lib/stupidedi/reader/token_reader.rb
129
+ - lib/stupidedi/reader/tokens/component_element_tok.rb
130
+ - lib/stupidedi/reader/tokens/composite_element_tok.rb
131
+ - lib/stupidedi/reader/tokens/repeated_element_tok.rb
132
+ - lib/stupidedi/reader/tokens/segment_tok.rb
133
+ - lib/stupidedi/reader/tokens/simple_element_tok.rb
134
+ - lib/stupidedi/schema.rb
135
+ - lib/stupidedi/schema/abstract_def.rb
136
+ - lib/stupidedi/schema/abstract_element_def.rb
137
+ - lib/stupidedi/schema/abstract_element_use.rb
138
+ - lib/stupidedi/schema/abstract_use.rb
139
+ - lib/stupidedi/schema/code_list.rb
140
+ - lib/stupidedi/schema/component_element_use.rb
141
+ - lib/stupidedi/schema/composite_element_def.rb
142
+ - lib/stupidedi/schema/composite_element_use.rb
143
+ - lib/stupidedi/schema/element_req.rb
144
+ - lib/stupidedi/schema/functional_group_def.rb
145
+ - lib/stupidedi/schema/generation.rb
146
+ - lib/stupidedi/schema/generation/definition_generator.rb
147
+ - lib/stupidedi/schema/generation/element_generator.rb
148
+ - lib/stupidedi/schema/generation/flat_file_reader.rb
149
+ - lib/stupidedi/schema/generation/functional_group_generator.rb
150
+ - lib/stupidedi/schema/generation/interchange_generator.rb
151
+ - lib/stupidedi/schema/generation/master_loader_generator.rb
152
+ - lib/stupidedi/schema/generation/models.rb
153
+ - lib/stupidedi/schema/generation/module_loader_generator.rb
154
+ - lib/stupidedi/schema/generation/registration_generator.rb
155
+ - lib/stupidedi/schema/generation/runner.rb
156
+ - lib/stupidedi/schema/generation/segment_generator.rb
157
+ - lib/stupidedi/schema/generation/support.rb
158
+ - lib/stupidedi/schema/generation/support_modules_generator.rb
159
+ - lib/stupidedi/schema/generation/version_modules.rb
160
+ - lib/stupidedi/schema/interchange_def.rb
161
+ - lib/stupidedi/schema/loop_def.rb
162
+ - lib/stupidedi/schema/repeat_count.rb
163
+ - lib/stupidedi/schema/segment_def.rb
164
+ - lib/stupidedi/schema/segment_req.rb
165
+ - lib/stupidedi/schema/segment_use.rb
166
+ - lib/stupidedi/schema/simple_element_def.rb
167
+ - lib/stupidedi/schema/simple_element_use.rb
168
+ - lib/stupidedi/schema/syntax_note.rb
169
+ - lib/stupidedi/schema/table_def.rb
170
+ - lib/stupidedi/schema/transaction_set_def.rb
171
+ - lib/stupidedi/sets.rb
172
+ - lib/stupidedi/transaction_sets.rb
173
+ - lib/stupidedi/transaction_sets/builder.rb
174
+ - lib/stupidedi/transaction_sets/builder/dsl.rb
175
+ - lib/stupidedi/transaction_sets/common.rb
176
+ - lib/stupidedi/transaction_sets/common/implementations.rb
177
+ - lib/stupidedi/transaction_sets/common/implementations/element_reqs.rb
178
+ - lib/stupidedi/transaction_sets/common/implementations/segment_reqs.rb
179
+ - lib/stupidedi/transaction_sets/validation.rb
180
+ - lib/stupidedi/transaction_sets/validation/ambiguity.rb
181
+ - lib/stupidedi/transaction_sets/validation/implementation.rb
182
+ - lib/stupidedi/values.rb
183
+ - lib/stupidedi/values/abstract_element_val.rb
184
+ - lib/stupidedi/values/abstract_val.rb
185
+ - lib/stupidedi/values/composite_element_val.rb
186
+ - lib/stupidedi/values/functional_group_val.rb
187
+ - lib/stupidedi/values/interchange_val.rb
188
+ - lib/stupidedi/values/invalid_envelope_val.rb
189
+ - lib/stupidedi/values/invalid_segment_val.rb
190
+ - lib/stupidedi/values/loop_val.rb
191
+ - lib/stupidedi/values/repeated_element_val.rb
192
+ - lib/stupidedi/values/segment_val.rb
193
+ - lib/stupidedi/values/segment_val_group.rb
194
+ - lib/stupidedi/values/simple_element_val.rb
195
+ - lib/stupidedi/values/table_val.rb
196
+ - lib/stupidedi/values/transaction_set_val.rb
197
+ - lib/stupidedi/values/transmission_val.rb
198
+ - lib/stupidedi/version.rb
199
+ - lib/stupidedi/versions.rb
200
+ - lib/stupidedi/versions/common.rb
201
+ - lib/stupidedi/versions/common/element_reqs.rb
202
+ - lib/stupidedi/versions/common/element_types.rb
203
+ - lib/stupidedi/versions/common/element_types/an.rb
204
+ - lib/stupidedi/versions/common/element_types/dt.rb
205
+ - lib/stupidedi/versions/common/element_types/id.rb
206
+ - lib/stupidedi/versions/common/element_types/nn.rb
207
+ - lib/stupidedi/versions/common/element_types/operators.rb
208
+ - lib/stupidedi/versions/common/element_types/r.rb
209
+ - lib/stupidedi/versions/common/element_types/simple_element.rb
210
+ - lib/stupidedi/versions/common/element_types/tm.rb
211
+ - lib/stupidedi/versions/common/segment_reqs.rb
212
+ - lib/stupidedi/versions/common/syntax_notes.rb
213
+ - lib/stupidedi/writer.rb
214
+ - lib/stupidedi/writer/claredi.rb
215
+ - lib/stupidedi/writer/default.rb
216
+ - lib/stupidedi/zipper.rb
217
+ - lib/stupidedi/zipper/abstract_cursor.rb
218
+ - lib/stupidedi/zipper/dangling_cursor.rb
219
+ - lib/stupidedi/zipper/edited_cursor.rb
220
+ - lib/stupidedi/zipper/memoized_cursor.rb
221
+ - lib/stupidedi/zipper/path.rb
222
+ - lib/stupidedi/zipper/root_cursor.rb
223
+ - lib/stupidedi/zipper/stack_cursor.rb
224
+ - lib/tediparse.rb
225
+ homepage: https://github.com/Tediware/tediparse
226
+ licenses:
227
+ - BSD-3-Clause
228
+ metadata:
229
+ source_code_uri: https://github.com/Tediware/tediparse
230
+ changelog_uri: https://github.com/Tediware/tediparse/blob/master/CHANGELOG.md
231
+ bug_tracker_uri: https://github.com/Tediware/tediparse/issues
232
+ rdoc_options: []
233
+ require_paths:
234
+ - lib
235
+ required_ruby_version: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: '2.6'
240
+ required_rubygems_version: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ requirements: []
246
+ rubygems_version: 3.6.1
247
+ specification_version: 4
248
+ summary: Parse, generate, validate ASC X12 EDI
249
+ test_files: []