stupidedi 1.5.1 → 1.5.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 591d7362a643a34503d15cdbbac6d7d686a2120d04f02ba2fe024d94cd8bbb75
4
- data.tar.gz: d411d0e3288257292a7d9ceaaf0cf267eab1465f8c44f30a353292f0b6c162cf
3
+ metadata.gz: '08769ed6c55dd39ff1fef9b53f216ae4ddd9480ec64d39244e2ce40f2e5a6b3d'
4
+ data.tar.gz: da436b4c7c4ddac494dc5ae282661a5f3d038a45734b6940ea3cff32540f5108
5
5
  SHA512:
6
- metadata.gz: 9c7a5f2bc871001bef7332b327e88ae8edfcd2f8e6a9df1816ca0783225bcd914ba274c921e018653773f5ef6663d9bc01620afb87d9239bfd820bcfeb608c6e
7
- data.tar.gz: f7ced2d731ea39f026d9e39995c2cce011fa9d9beb55f181baeede454b2719842322917acfd5a0a526d4b5f6a832ba6929ac99da9f62bd2eaef0e7f805c18b13
6
+ metadata.gz: c9f8052c21ac6bb410a0b2873258d86dbd47db7019a041bda1d8128d3f17d069c6e562cdb134270a7baa8e9381ff5d7788c9374c54ec1bd3ca509a9e9c0ff5a4
7
+ data.tar.gz: 913c1d7810885282b72f7e931c2fcb9eb2d5876f720b8707fcce7e85a0d33b3f9c72430077bf51f325555fe762c1bd41c723981370b0576e586fe23028bce108
@@ -9,9 +9,12 @@ module Stupidedi
9
9
  e = ElementReqs
10
10
  s = SegmentDefs
11
11
 
12
+ # Re-enabled per issue #175. The element lists were completed to match the
13
+ # current segment definitions (s::SEG); elements the 4010 850 does not
14
+ # exercise are marked NotUsed. See spec/fixtures/004010/PO850/.
12
15
  PO850 = b.build("PO", "850", "Purchase Order",
13
16
  d::TableDef.header("Heading",
14
- b::Segment(10, s:: ST, "Transaction Set Header", r::Required, d::RepeatCount.bounded(1),
17
+ b::Segment(10, s::ST, "Transaction Set Header", r::Required, d::RepeatCount.bounded(1),
15
18
  b::Element(e::Required, "Transaction Set Identifier Code", b::Values("850")),
16
19
  b::Element(e::Required, "Transaction Set Control Number")),
17
20
  b::Segment(20, s::BEG, "Beginning Segment for Purchase Order", r::Required, d::RepeatCount.bounded(1),
@@ -19,39 +22,82 @@ module Stupidedi
19
22
  b::Element(e::Required, "Purchase Order Type Code", b::Values("NE")),
20
23
  b::Element(e::Required, "Purchase Order Number"),
21
24
  b::Element(e::Situational, "Release Number"),
22
- b::Element(e::Required, "Date")),
25
+ b::Element(e::Required, "Date"),
26
+ b::Element(e::NotUsed, "Contract Number"),
27
+ b::Element(e::NotUsed, "Acknowledgment Type Code"),
28
+ b::Element(e::NotUsed, "Invoice Type Code"),
29
+ b::Element(e::NotUsed, "Contract Type Code"),
30
+ b::Element(e::NotUsed, "Purchase Category Code"),
31
+ b::Element(e::NotUsed, "Security Level Code"),
32
+ b::Element(e::NotUsed, "Transaction Type Code")),
23
33
  b::Segment(40, s::CUR, "Currency", r::Situational, d::RepeatCount.bounded(1),
24
- b::Element(e::Required, "Entity Identifier Code", b::Values("BT","BY","CN","SH","SF","ST"),
25
- b::Element(e::Required, "Currency Code")),
34
+ b::Element(e::Required, "Entity Identifier Code", b::Values("BT", "BY", "CN", "SH", "SF", "ST")),
35
+ b::Element(e::Required, "Currency Code"),
36
+ b::Element(e::NotUsed, "Exchange Rate"),
37
+ b::Element(e::NotUsed, "Entity Identifier Code"),
38
+ b::Element(e::NotUsed, "Currency Code"),
39
+ b::Element(e::NotUsed, "Currency Market/Exchange Code"),
40
+ b::Element(e::NotUsed, "Date/Time Qualifier"),
41
+ b::Element(e::NotUsed, "Date"),
42
+ b::Element(e::NotUsed, "Time"),
43
+ b::Element(e::NotUsed, "Date/Time Qualifier"),
44
+ b::Element(e::NotUsed, "Date"),
45
+ b::Element(e::NotUsed, "Time"),
46
+ b::Element(e::NotUsed, "Date/Time Qualifier"),
47
+ b::Element(e::NotUsed, "Date"),
48
+ b::Element(e::NotUsed, "Time"),
49
+ b::Element(e::NotUsed, "Date/Time Qualifier"),
50
+ b::Element(e::NotUsed, "Date"),
51
+ b::Element(e::NotUsed, "Time"),
52
+ b::Element(e::NotUsed, "Date/Time Qualifier"),
53
+ b::Element(e::NotUsed, "Date"),
54
+ b::Element(e::NotUsed, "Time")),
26
55
  b::Segment(50, s::REF, "Reference Identification", r::Situational, d::RepeatCount.unbounded,
27
56
  b::Element(e::Required, "Reference Identification Qualifier", b::Values("ZZ", "OS")),
28
- b::Element(e::Situational, "Reference Identification")),
57
+ b::Element(e::Situational, "Reference Identification"),
58
+ b::Element(e::NotUsed, "Description"),
59
+ b::Element(e::NotUsed, "Reference Identifier")),
29
60
  b::Segment(60, s::PER, "Administrative Communications Contact", r::Situational, d::RepeatCount.bounded(3),
30
61
  b::Element(e::Required, "Contact Function Code", b::Values("BD")),
31
62
  b::Element(e::Situational, "Name"),
32
63
  b::Element(e::Situational, "Communication Number Qualifier", b::Values("TE")),
33
- b::Element(e::Situational, "Communication Number")),
64
+ b::Element(e::Situational, "Communication Number"),
65
+ b::Element(e::NotUsed, "Communication Number Qualifier"),
66
+ b::Element(e::NotUsed, "Communication Number"),
67
+ b::Element(e::NotUsed, "Communication Number Qualifier"),
68
+ b::Element(e::NotUsed, "Communication Number"),
69
+ b::Element(e::NotUsed, "Contact Inquiry Reference")),
34
70
  b::Segment(150, s::DTM, "Date/Time Reference", r::Situational, d::RepeatCount.bounded(10),
35
71
  b::Element(e::Required, "Date/Time Qualifier", b::Values("002")),
36
- b::Element(e::Situational, "Date")),
72
+ b::Element(e::Situational, "Date"),
73
+ b::Element(e::NotUsed, "Time"),
74
+ b::Element(e::NotUsed, "Time Code"),
75
+ b::Element(e::NotUsed, "Date Time Period Format Qualifier"),
76
+ b::Element(e::NotUsed, "Date Time Period")),
37
77
 
38
78
  d::LoopDef.build("N1", d::RepeatCount.bounded(200),
39
- b::Segment(310, s:: N1, "Name", r::Situational, d::RepeatCount.bounded(1),
79
+ b::Segment(310, s::N1, "Name", r::Situational, d::RepeatCount.bounded(1),
40
80
  b::Element(e::Required, "Entity Identifier Code", b::Values("SF", "ST")),
41
81
  b::Element(e::Required, "Name"),
42
82
  b::Element(e::Situational, "Identification Code Qualifier", b::Values("91")),
43
- b::Element(e::Situational, "Identification Code")),
44
- b::Segment(330, s:: N3, "Address Information", r::Situational, d::RepeatCount.bounded(2),
83
+ b::Element(e::Situational, "Identification Code"),
84
+ b::Element(e::NotUsed, "Entity Relationship Code"),
85
+ b::Element(e::NotUsed, "Entity Identifier Code")),
86
+ b::Segment(330, s::N3, "Address Information", r::Situational, d::RepeatCount.bounded(2),
45
87
  b::Element(e::Required, "Address Information"),
46
88
  b::Element(e::Situational, "Address Information")),
47
- b::Segment(340, s:: N4, "Geographic Location", r::Situational, d::RepeatCount.unbounded,
89
+ b::Segment(340, s::N4, "Geographic Location", r::Situational, d::RepeatCount.unbounded,
48
90
  b::Element(e::Situational, "City Name"),
49
91
  b::Element(e::Situational, "State or Province Code"),
50
92
  b::Element(e::Situational, "Postal Code"),
51
- b::Element(e::Situational, "Country Code")),
93
+ b::Element(e::Situational, "Country Code"),
94
+ b::Element(e::NotUsed, "Location Qualifier"),
95
+ b::Element(e::NotUsed, "Location Identifier")),
52
96
  b::Segment(350, s::REF, "Reference Identification", r::Situational, d::RepeatCount.bounded(12),
53
97
  b::Element(e::Required, "Reference Identification Qualifier", b::Values("DP")),
54
- b::Element(e::Situational, "Reference Identification")))),
98
+ b::Element(e::Situational, "Reference Identification"),
99
+ b::Element(e::NotUsed, "Description"),
100
+ b::Element(e::NotUsed, "Reference Identifier")))),
55
101
 
56
102
  d::TableDef.header("Detail",
57
103
  d::LoopDef.build("PO1", d::RepeatCount.bounded(100000),
@@ -60,47 +106,80 @@ module Stupidedi
60
106
  b::Element(e::Situational, "Quantity Ordered"),
61
107
  b::Element(e::Situational, "Unit or Basis for Measurement Code", b::Values("CA", "EA", "LB")),
62
108
  b::Element(e::Situational, "Unit Price"),
63
- b::Element(e::Situational, "Basis of Unit Price Code", b::values("PE","PP","UM")),
109
+ b::Element(e::Situational, "Basis of Unit Price Code", b::Values("PE", "PP", "UM")),
64
110
  b::Element(e::Situational, "Product/Service ID Qualifier", b::Values("VN", "VC")),
65
- b::Element(e::Situational, "Product/Service ID"))),
66
- d::LoopDef.build("PID", d::RepeatCount.bounded(1000),
67
- b::Segment(50, s::PID, "Product/Item Description", r::Situational, d::RepeatCount.bounded(1),
68
- b::Element(e::Required, "Item Description Type", b::Values("F")),
69
- b::Element(e::Situational, "Product/Process Characteristic Code"),
70
- b::Element(e::Situational, "Agency Qualifier Code"),
71
- b::Element(e::Situational, "Product Description Code"),
72
- b::Element(e::Situational, "Description"))),
73
- d::LoopDef.build("SCH", d::RepeatCount.bounded(200),
74
- b::Segment(295, s::SCH, "Line Item Schedule", r::Situational, d::RepeatCount.bounded(1),
75
- b::Element(e::Required, "Numeric value ofquantiy"),
76
- b::Element(e::Required, "Unit or Basis for Measurement Code", b::Values("DZ", "EA", "FT", "RL")),
77
- b::Element(e::Situational, "Date/Time Qualifer"),
78
- b::Element(e::Situational, "Date"),
79
- b::Element(e::Situational, "Date/Time Qualifer"),
80
- b::Element(e::Situational, "Date"))),
81
- d::LoopDef.build("N1", d::RepeatCount.bounded(200),
82
- b::Segment(350, s:: N1, "Name", r::Situational, d::RepeatCount.bounded(1),
83
- b::Element(e::Required, "Entity Identifier Code", b::Values("SF", "ST")),
84
- b::Element(e::Required, "Name"),
85
- b::Element(e::Situational, "Identification Code Qualifier", b::Values("91")),
86
- b::Element(e::Situational, "Identification Code")),
87
- b::Segment(370, s:: N3, "Address Information", r::Situational, d::RepeatCount.bounded(2),
88
- b::Element(e::Required, "Address Information"),
89
- b::Element(e::Situational, "Address Information")),
90
- b::Segment(380, s:: N4, "Geographic Location", r::Situational, d::RepeatCount.bounded(1),
91
- b::Element(e::Situational, "City Name"),
92
- b::Element(e::Situational, "State or Province Code"),
93
- b::Element(e::Situational, "Postal Code"),
94
- b::Element(e::Situational, "Country Code")))),
111
+ b::Element(e::Situational, "Product/Service ID"),
112
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
113
+ b::Element(e::NotUsed, "Product/Service ID"),
114
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
115
+ b::Element(e::NotUsed, "Product/Service ID"),
116
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
117
+ b::Element(e::NotUsed, "Product/Service ID"),
118
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
119
+ b::Element(e::NotUsed, "Product/Service ID"),
120
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
121
+ b::Element(e::NotUsed, "Product/Service ID"),
122
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
123
+ b::Element(e::NotUsed, "Product/Service ID"),
124
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
125
+ b::Element(e::NotUsed, "Product/Service ID"),
126
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
127
+ b::Element(e::NotUsed, "Product/Service ID"),
128
+ b::Element(e::NotUsed, "Product/Service ID Qualifier"),
129
+ b::Element(e::NotUsed, "Product/Service ID")),
130
+ d::LoopDef.build("PID", d::RepeatCount.bounded(1000),
131
+ b::Segment(50, s::PID, "Product/Item Description", r::Situational, d::RepeatCount.bounded(1),
132
+ b::Element(e::Required, "Item Description Type", b::Values("F")),
133
+ b::Element(e::Situational, "Product/Process Characteristic Code"),
134
+ b::Element(e::Situational, "Agency Qualifier Code"),
135
+ b::Element(e::Situational, "Product Description Code"),
136
+ b::Element(e::Situational, "Description"),
137
+ b::Element(e::NotUsed, "Surface/Layer/Position Code"),
138
+ b::Element(e::NotUsed, "Source Subqualifier"),
139
+ b::Element(e::NotUsed, "Yes/No Condition or Response Code"),
140
+ b::Element(e::NotUsed, "Language Code"))),
141
+ d::LoopDef.build("SCH", d::RepeatCount.bounded(200),
142
+ b::Segment(295, s::SCH, "Line Item Schedule", r::Situational, d::RepeatCount.bounded(1),
143
+ b::Element(e::Required, "Quantity"),
144
+ b::Element(e::Required, "Unit or Basis for Measurement Code"),
145
+ b::Element(e::NotUsed, "Entity Identifier Code"),
146
+ b::Element(e::NotUsed, "Name"),
147
+ b::Element(e::Situational, "Date/Time Qualifier"),
148
+ b::Element(e::Situational, "Date"),
149
+ b::Element(e::Situational, "Date/Time Qualifier"),
150
+ b::Element(e::Situational, "Date"))),
151
+ d::LoopDef.build("N1", d::RepeatCount.bounded(200),
152
+ b::Segment(350, s::N1, "Name", r::Situational, d::RepeatCount.bounded(1),
153
+ b::Element(e::Required, "Entity Identifier Code", b::Values("SF", "ST")),
154
+ b::Element(e::Required, "Name"),
155
+ b::Element(e::Situational, "Identification Code Qualifier", b::Values("91")),
156
+ b::Element(e::Situational, "Identification Code"),
157
+ b::Element(e::NotUsed, "Entity Relationship Code"),
158
+ b::Element(e::NotUsed, "Entity Identifier Code")),
159
+ b::Segment(370, s::N3, "Address Information", r::Situational, d::RepeatCount.bounded(2),
160
+ b::Element(e::Required, "Address Information"),
161
+ b::Element(e::Situational, "Address Information")),
162
+ b::Segment(380, s::N4, "Geographic Location", r::Situational, d::RepeatCount.bounded(1),
163
+ b::Element(e::Situational, "City Name"),
164
+ b::Element(e::Situational, "State or Province Code"),
165
+ b::Element(e::Situational, "Postal Code"),
166
+ b::Element(e::Situational, "Country Code"),
167
+ b::Element(e::NotUsed, "Location Qualifier"),
168
+ b::Element(e::NotUsed, "Location Identifier"))))),
95
169
 
96
170
  d::TableDef.header("Summary",
97
171
  d::LoopDef.build("CTT", d::RepeatCount.bounded(1),
98
172
  b::Segment(10, s::CTT, "Transaction Totals", r::Situational, d::RepeatCount.bounded(1),
99
173
  b::Element(e::Required, "Number of Line Items"),
100
- b::Element(e::Situational, "Hash Total"))),
101
- b::Segment(30, s:: SE, "Transaction Set Trailer", r::Required, d::RepeatCount.bounded(1),
174
+ b::Element(e::Situational, "Hash Total"),
175
+ b::Element(e::NotUsed, "Weight"),
176
+ b::Element(e::NotUsed, "Unit or Basis for Measurement Code"),
177
+ b::Element(e::NotUsed, "Volume"),
178
+ b::Element(e::NotUsed, "Unit or Basis for Measurement Code"),
179
+ b::Element(e::NotUsed, "Description"))),
180
+ b::Segment(30, s::SE, "Transaction Set Trailer", r::Required, d::RepeatCount.bounded(1),
102
181
  b::Element(e::Required, "Number of Included Segments"),
103
- b::Element(e::Required, "Transaction Set Control Number")))))
182
+ b::Element(e::Required, "Transaction Set Control Number"))))
104
183
 
105
184
  end
106
185
  end
@@ -19,7 +19,7 @@ module Stupidedi
19
19
  autoload :GF990, "stupidedi/transaction_sets/004010/implementations/GF990"
20
20
  autoload :IM210, "stupidedi/transaction_sets/004010/implementations/IM210"
21
21
  #utoload :OW940, "stupidedi/transaction_sets/004010/implementations/OW940"
22
- #utoload :PO850, "stupidedi/transaction_sets/004010/implementations/PO850"
22
+ autoload :PO850, "stupidedi/transaction_sets/004010/implementations/PO850"
23
23
  #utoload :PS830, "stupidedi/transaction_sets/004010/implementations/PS830"
24
24
  autoload :QM214, "stupidedi/transaction_sets/004010/implementations/QM214"
25
25
  #utoload :RE944, "stupidedi/transaction_sets/004010/implementations/RE944"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stupidedi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Putnam