stupidedi 1.2.20 → 1.3.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -1
  3. data/bin/edi-obfuscate +112 -0
  4. data/lib/stupidedi/builder/generation.rb +39 -11
  5. data/lib/stupidedi/builder/navigation.rb +15 -2
  6. data/lib/stupidedi/either.rb +1 -1
  7. data/lib/stupidedi/reader/tokens/component_element_tok.rb +12 -0
  8. data/lib/stupidedi/reader/tokens/composite_element_tok.rb +17 -0
  9. data/lib/stupidedi/reader/tokens/segment_tok.rb +19 -1
  10. data/lib/stupidedi/reader/tokens/simple_element_tok.rb +12 -0
  11. data/lib/stupidedi/values/functional_group_val.rb +1 -1
  12. data/lib/stupidedi/values/interchange_val.rb +1 -1
  13. data/lib/stupidedi/values/loop_val.rb +1 -1
  14. data/lib/stupidedi/values/table_val.rb +1 -1
  15. data/lib/stupidedi/values/transaction_set_val.rb +1 -1
  16. data/lib/stupidedi/values/transmission_val.rb +1 -1
  17. data/lib/stupidedi/version.rb +1 -1
  18. data/lib/stupidedi/versions/functional_groups/002001/element_defs.rb +1 -14
  19. data/lib/stupidedi/versions/functional_groups/002001/element_types/date_val.rb +3 -3
  20. data/lib/stupidedi/versions/functional_groups/002001/element_types/fixnum_val.rb +2 -2
  21. data/lib/stupidedi/versions/functional_groups/002001/element_types/float_val.rb +2 -2
  22. data/lib/stupidedi/versions/functional_groups/002001/element_types/identifier_val.rb +1 -1
  23. data/lib/stupidedi/versions/functional_groups/002001/element_types/string_val.rb +2 -2
  24. data/lib/stupidedi/versions/functional_groups/002001/element_types/time_val.rb +2 -2
  25. data/lib/stupidedi/versions/functional_groups/003010/element_defs.rb +1 -14
  26. data/lib/stupidedi/versions/functional_groups/003010/element_types/date_val.rb +3 -3
  27. data/lib/stupidedi/versions/functional_groups/003010/element_types/fixnum_val.rb +2 -2
  28. data/lib/stupidedi/versions/functional_groups/003010/element_types/float_val.rb +2 -2
  29. data/lib/stupidedi/versions/functional_groups/003010/element_types/identifier_val.rb +2 -2
  30. data/lib/stupidedi/versions/functional_groups/003010/element_types/string_val.rb +2 -2
  31. data/lib/stupidedi/versions/functional_groups/003010/element_types/time_val.rb +2 -2
  32. data/lib/stupidedi/versions/functional_groups/003040/element_defs.rb +1 -14
  33. data/lib/stupidedi/versions/functional_groups/003040/element_types/date_val.rb +3 -3
  34. data/lib/stupidedi/versions/functional_groups/003040/element_types/fixnum_val.rb +2 -2
  35. data/lib/stupidedi/versions/functional_groups/003040/element_types/float_val.rb +2 -2
  36. data/lib/stupidedi/versions/functional_groups/003040/element_types/identifier_val.rb +2 -2
  37. data/lib/stupidedi/versions/functional_groups/003040/element_types/string_val.rb +2 -2
  38. data/lib/stupidedi/versions/functional_groups/003040/element_types/time_val.rb +2 -2
  39. data/lib/stupidedi/versions/functional_groups/003050/element_defs.rb +1 -14
  40. data/lib/stupidedi/versions/functional_groups/003050/element_types/date_val.rb +3 -3
  41. data/lib/stupidedi/versions/functional_groups/003050/element_types/fixnum_val.rb +2 -2
  42. data/lib/stupidedi/versions/functional_groups/003050/element_types/float_val.rb +2 -2
  43. data/lib/stupidedi/versions/functional_groups/003050/element_types/identifier_val.rb +2 -2
  44. data/lib/stupidedi/versions/functional_groups/003050/element_types/string_val.rb +2 -2
  45. data/lib/stupidedi/versions/functional_groups/003050/element_types/time_val.rb +2 -2
  46. data/lib/stupidedi/versions/functional_groups/004010/element_defs.rb +2 -3
  47. data/lib/stupidedi/versions/functional_groups/004010/element_types/date_val.rb +3 -3
  48. data/lib/stupidedi/versions/functional_groups/004010/element_types/fixnum_val.rb +2 -2
  49. data/lib/stupidedi/versions/functional_groups/004010/element_types/float_val.rb +2 -2
  50. data/lib/stupidedi/versions/functional_groups/004010/element_types/string_val.rb +2 -2
  51. data/lib/stupidedi/versions/functional_groups/004010/element_types/time_val.rb +2 -2
  52. data/lib/stupidedi/versions/functional_groups/005010/element_types/date_val.rb +1 -1
  53. data/lib/stupidedi/versions/functional_groups/005010/element_types/fixnum_val.rb +1 -1
  54. data/lib/stupidedi/versions/functional_groups/005010/element_types/float_val.rb +1 -1
  55. data/lib/stupidedi/versions/functional_groups/005010/element_types/string_val.rb +1 -1
  56. data/lib/stupidedi/versions/functional_groups/005010/element_types/time_val.rb +1 -1
  57. data/lib/stupidedi/versions/interchanges/00200/element_defs.rb +1 -1
  58. data/lib/stupidedi/versions/interchanges/00300/element_defs.rb +1 -1
  59. data/lib/stupidedi/versions/interchanges/00400/element_defs.rb +1 -1
  60. data/lib/stupidedi/versions/interchanges/00401/element_defs.rb +1 -1
  61. data/spec/examples/integration/navigating_spec.rb +44 -0
  62. data/spec/examples/integration/nondeterminism_spec.rb +165 -0
  63. metadata +4 -2
@@ -48,7 +48,7 @@ module Stupidedi
48
48
 
49
49
  # @return [String]
50
50
  def inspect
51
- ansi.envelope("TransmissionVal") << "(#{@children.map(&:inspect).join(', ')})"
51
+ ansi.envelope("TransmissionVal") + "(#{@children.map(&:inspect).join(', ')})"
52
52
  end
53
53
  end
54
54
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stupidedi
4
- VERSION = "1.2.20"
4
+ VERSION = "1.3.21"
5
5
  end
@@ -4211,7 +4211,6 @@ module Stupidedi
4211
4211
  "T" => "Status Query",
4212
4212
  "U" => "Reject",
4213
4213
  "V" => "Respond",
4214
- "A" => "reply or answer",
4215
4214
  "W" => "Reverse",
4216
4215
  "X" => "Recommend",
4217
4216
  "Y" => "Not Recommend",
@@ -4821,9 +4820,7 @@ module Stupidedi
4821
4820
  "3M" => "Water Activity",
4822
4821
  "3Z" => "Terabytes",
4823
4822
  "40" => "Milliliter per Second",
4824
- "Re" => "resents rate of absorbency",
4825
4823
  "41" => "Milliliter per Minute",
4826
- "Re" => "resents rate of absorbency",
4827
4824
  "42" => "Centisimal Hahnemannian Dilution (CH)",
4828
4825
  "43" => "Super Bulk Bag",
4829
4826
  "44" => "500 Kilogram Bulk Bag",
@@ -5069,7 +5066,6 @@ module Stupidedi
5069
5066
  "DU" => "Dyne",
5070
5067
  "DW" => "Calendar Days",
5071
5068
  "DX" => "Dynes per Centimeter",
5072
- "Un" => "t of surface tension",
5073
5069
  "DY" => "Directory Books",
5074
5070
  "DZ" => "Dozen",
5075
5071
  "E1" => "Hectometer",
@@ -5357,7 +5353,6 @@ module Stupidedi
5357
5353
  "NQ" => "Mho",
5358
5354
  "NR" => "Micro Mho",
5359
5355
  "NS" => "Short Ton",
5360
- "Tw" => " thousand pounds",
5361
5356
  "NT" => "Trailer",
5362
5357
  "NU" => "Newton-Meter",
5363
5358
  "NV" => "Vehicle",
@@ -6258,7 +6253,6 @@ module Stupidedi
6258
6253
  "1A" => "Unique Item Tracking Control Report",
6259
6254
  "1B" => "Unique Item Tracking Report Reconciliation",
6260
6255
  "1C" => "Unique Item Tracking Item Data Change",
6261
- "SE" => "CODE SOURCE 350",
6262
6256
  "1E" => "New Group Initial Enrollment",
6263
6257
  "20" => "Air Export Waybill and Invoice",
6264
6258
  "21" => "Air Import Invoice",
@@ -6272,7 +6266,6 @@ module Stupidedi
6272
6266
  "30" => "Delivery",
6273
6267
  "31" => "Subrogation Demand",
6274
6268
  "33" => "Normal",
6275
- "Co" => "orming to a standard practice",
6276
6269
  "34" => "Emergency Request",
6277
6270
  "35" => "Short Notice Request",
6278
6271
  "36" => "Damage Notification",
@@ -6906,12 +6899,9 @@ module Stupidedi
6906
6899
  "A22" => "Package Missed Inbound Plane At Origin Station",
6907
6900
  "A23" => "Customer Dropped Off Package After Aircraft Depart",
6908
6901
  "A24" => "Accident",
6909
- "Del" => "y caused by shipment being contained in vehicle involved in accident",
6910
6902
  "A25" => "Package Received At Destination Station Without Airbill",
6911
6903
  "A26" => "Consignee Related",
6912
- "Uns" => "ecified delay caused by consignee",
6913
6904
  "A27" => "Driver Related",
6914
- "The" => "driver returned the shipment to the terminal",
6915
6905
  "A28" => "Package Missorted During Aircraft Unload",
6916
6906
  "A29" => "Hold Changed To Delivery Package",
6917
6907
  "A30" => "Mechanical Breakdown",
@@ -6968,7 +6958,6 @@ module Stupidedi
6968
6958
  "ANA" => "Agent Not Appointed",
6969
6959
  "ANL" => "Agent Not Licensed",
6970
6960
  "B01" => "Reconsigned",
6971
- "The" => "shipper or consignee redirected the shipment",
6972
6961
  "B02" => "Appointment or Pre-Arranged Delivery Date",
6973
6962
  "B03" => "Trap for Customer",
6974
6963
  "B04" => "Held for Payment",
@@ -6996,7 +6985,6 @@ module Stupidedi
6996
6985
  "B26" => "International diploma or certificate (such as International Baccalaureate)",
6997
6986
  "B27" => "Student is eligible to continue or return or both",
6998
6987
  "B28" => "Student is on Suspension or Dismissal",
6999
- "For" => "unstated reasons",
7000
6988
  "B29" => "Student is expelled (from PreK - grade 12)",
7001
6989
  "B30" => "Currently enrolled but courses in progress not included",
7002
6990
  "B31" => "Not currently enrolled",
@@ -7043,7 +7031,6 @@ module Stupidedi
7043
7031
  "C08" => "Collect on Delivery Required",
7044
7032
  "C09" => "Cash Not Available from Consignee",
7045
7033
  "C10" => "Customs (Import/Export)",
7046
- "Del" => "very delayed by customs",
7047
7034
  "C11" => "No Requested Arrival Date Provided To Carrier By Shipper",
7048
7035
  "C12" => "No Requested Arrival Time Provided To Carrier By Shipper",
7049
7036
  "C13" => "Loan Paid in Full",
@@ -7069,7 +7056,7 @@ module Stupidedi
7069
7056
  "D04" => "Student was received from another attendance reporting unit in the same school",
7070
7057
  "D05" => "Student was received from a school in the same district",
7071
7058
  "D06" => "Student was received from another public school outside the district either in- or out-of-state",
7072
- "D07" => "Student was received from a nonpublic school either in or out of the district or has returned after having been enrolled in a home education program; The student must have been enrolled", "pre" => "iously in a public school this year",
7059
+ "D07" => "Student was received from a nonpublic school either in or out of the district or has returned after having been enrolled in a home education program; The student must have been enrolled previously in a public school this year",
7073
7060
  "D08" => "Student unexpectedly reentered the same school after withdrawing or being discharged",
7074
7061
  "D09" => "Student was expected to attend a school but did not enter as expected for unknown reasons",
7075
7062
  "D10" => "Student was promoted, retained, or transferred to another attendance-reporting unit in the same school",
@@ -90,7 +90,7 @@ module Stupidedi
90
90
  end
91
91
  end
92
92
 
93
- ansi.element("DT.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
93
+ ansi.element("DT.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
94
94
  end
95
95
 
96
96
  # @return [String]
@@ -282,7 +282,7 @@ module Stupidedi
282
282
  end
283
283
  end
284
284
 
285
- ansi.element("DT.value#{id}") << "(#{"%04d-%02d-%02d" % [year, month, day]})"
285
+ ansi.element("DT.value#{id}") + "(#{"%04d-%02d-%02d" % [year, month, day]})"
286
286
  end
287
287
 
288
288
  # @return [String]
@@ -463,7 +463,7 @@ module Stupidedi
463
463
  end
464
464
  end
465
465
 
466
- ansi.element("DT.value#{id}") << "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
466
+ ansi.element("DT.value#{id}") + "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
467
467
  end
468
468
 
469
469
  # @return [String]
@@ -100,7 +100,7 @@ module Stupidedi
100
100
  end
101
101
  end
102
102
 
103
- ansi.element("Nn.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
103
+ ansi.element("Nn.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
104
104
  end
105
105
 
106
106
  # @return [String]
@@ -239,7 +239,7 @@ module Stupidedi
239
239
  end
240
240
  end
241
241
 
242
- ansi.element("Nn.value#{id}") << "(#{to_s})"
242
+ ansi.element("Nn.value#{id}") + "(#{to_s})"
243
243
  end
244
244
 
245
245
  # @return [String]
@@ -89,7 +89,7 @@ module Stupidedi
89
89
  end
90
90
  end
91
91
 
92
- ansi.element(" R.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
92
+ ansi.element(" R.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
93
93
  end
94
94
 
95
95
  # @return [String]
@@ -229,7 +229,7 @@ module Stupidedi
229
229
  end
230
230
  end
231
231
 
232
- ansi.element(" R.value#{id}") << "(#{to_s})"
232
+ ansi.element(" R.value#{id}") + "(#{to_s})"
233
233
  end
234
234
 
235
235
  # @return [String]
@@ -119,7 +119,7 @@ module Stupidedi
119
119
  end
120
120
  end
121
121
 
122
- ansi.element("ID.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
122
+ ansi.element("ID.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
123
123
  end
124
124
 
125
125
  # @return [String]
@@ -79,7 +79,7 @@ module Stupidedi
79
79
  end
80
80
  end
81
81
 
82
- ansi.element("AN.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
82
+ ansi.element("AN.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
83
83
  end
84
84
 
85
85
  # @return [String]
@@ -263,7 +263,7 @@ module Stupidedi
263
263
  end
264
264
  end
265
265
 
266
- ansi.element("AN.value#{id}") << "(#{@value})"
266
+ ansi.element("AN.value#{id}") + "(#{@value})"
267
267
  end
268
268
 
269
269
  def valid?
@@ -76,7 +76,7 @@ module Stupidedi
76
76
  end
77
77
  end
78
78
 
79
- ansi.element("TM.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
79
+ ansi.element("TM.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
80
80
  end
81
81
 
82
82
  # @return [String]
@@ -226,7 +226,7 @@ module Stupidedi
226
226
  mm = @minute.try{|m| "%02d" % m } || "mm"
227
227
  ss = @second.try{|s| s.to_s("F") } || "ss"
228
228
 
229
- ansi.element("TM.value#{id}") << "(#{hh}:#{mm}:#{ss})"
229
+ ansi.element("TM.value#{id}") + "(#{hh}:#{mm}:#{ss})"
230
230
  end
231
231
 
232
232
  # @return [String]
@@ -2769,7 +2769,6 @@ module Stupidedi
2769
2769
  "T" => "Status Query",
2770
2770
  "U" => "Reject",
2771
2771
  "V" => "Respond",
2772
- "A" => "reply or answer",
2773
2772
  "W" => "Reverse",
2774
2773
  "X" => "Recommend",
2775
2774
  "Y" => "Not Recommend",
@@ -3403,9 +3402,7 @@ module Stupidedi
3403
3402
  "3M" => "Water Activity",
3404
3403
  "3Z" => "Terabytes",
3405
3404
  "40" => "Milliliter per Second",
3406
- "Re" => "resents rate of absorbency",
3407
3405
  "41" => "Milliliter per Minute",
3408
- "Re" => "resents rate of absorbency",
3409
3406
  "42" => "Centisimal Hahnemannian Dilution (CH)",
3410
3407
  "43" => "Super Bulk Bag",
3411
3408
  "44" => "500 Kilogram Bulk Bag",
@@ -3651,7 +3648,6 @@ module Stupidedi
3651
3648
  "DU" => "Dyne",
3652
3649
  "DW" => "Calendar Days",
3653
3650
  "DX" => "Dynes per Centimeter",
3654
- "Un" => "t of surface tension",
3655
3651
  "DY" => "Directory Books",
3656
3652
  "DZ" => "Dozen",
3657
3653
  "E1" => "Hectometer",
@@ -3939,7 +3935,6 @@ module Stupidedi
3939
3935
  "NQ" => "Mho",
3940
3936
  "NR" => "Micro Mho",
3941
3937
  "NS" => "Short Ton",
3942
- "Tw" => " thousand pounds",
3943
3938
  "NT" => "Trailer",
3944
3939
  "NU" => "Newton-Meter",
3945
3940
  "NV" => "Vehicle",
@@ -4871,7 +4866,6 @@ module Stupidedi
4871
4866
  "1A" => "Unique Item Tracking Control Report",
4872
4867
  "1B" => "Unique Item Tracking Report Reconciliation",
4873
4868
  "1C" => "Unique Item Tracking Item Data Change",
4874
- "SE" => "CODE SOURCE 350",
4875
4869
  "1E" => "New Group Initial Enrollment",
4876
4870
  "20" => "Air Export Waybill and Invoice",
4877
4871
  "21" => "Air Import Invoice",
@@ -4885,7 +4879,6 @@ module Stupidedi
4885
4879
  "30" => "Delivery",
4886
4880
  "31" => "Subrogation Demand",
4887
4881
  "33" => "Normal",
4888
- "Co" => "orming to a standard practice",
4889
4882
  "34" => "Emergency Request",
4890
4883
  "35" => "Short Notice Request",
4891
4884
  "36" => "Damage Notification",
@@ -5519,12 +5512,9 @@ module Stupidedi
5519
5512
  "A22" => "Package Missed Inbound Plane At Origin Station",
5520
5513
  "A23" => "Customer Dropped Off Package After Aircraft Depart",
5521
5514
  "A24" => "Accident",
5522
- "Del" => "y caused by shipment being contained in vehicle involved in accident",
5523
5515
  "A25" => "Package Received At Destination Station Without Airbill",
5524
5516
  "A26" => "Consignee Related",
5525
- "Uns" => "ecified delay caused by consignee",
5526
5517
  "A27" => "Driver Related",
5527
- "The" => "driver returned the shipment to the terminal",
5528
5518
  "A28" => "Package Missorted During Aircraft Unload",
5529
5519
  "A29" => "Hold Changed To Delivery Package",
5530
5520
  "A30" => "Mechanical Breakdown",
@@ -5581,7 +5571,6 @@ module Stupidedi
5581
5571
  "ANA" => "Agent Not Appointed",
5582
5572
  "ANL" => "Agent Not Licensed",
5583
5573
  "B01" => "Reconsigned",
5584
- "The" => "shipper or consignee redirected the shipment",
5585
5574
  "B02" => "Appointment or Pre-Arranged Delivery Date",
5586
5575
  "B03" => "Trap for Customer",
5587
5576
  "B04" => "Held for Payment",
@@ -5609,7 +5598,6 @@ module Stupidedi
5609
5598
  "B26" => "International diploma or certificate (such as International Baccalaureate)",
5610
5599
  "B27" => "Student is eligible to continue or return or both",
5611
5600
  "B28" => "Student is on Suspension or Dismissal",
5612
- "For" => "unstated reasons",
5613
5601
  "B29" => "Student is expelled (from PreK - grade 12)",
5614
5602
  "B30" => "Currently enrolled but courses in progress not included",
5615
5603
  "B31" => "Not currently enrolled",
@@ -5656,7 +5644,6 @@ module Stupidedi
5656
5644
  "C08" => "Collect on Delivery Required",
5657
5645
  "C09" => "Cash Not Available from Consignee",
5658
5646
  "C10" => "Customs (Import/Export)",
5659
- "Del" => "very delayed by customs",
5660
5647
  "C11" => "No Requested Arrival Date Provided To Carrier By Shipper",
5661
5648
  "C12" => "No Requested Arrival Time Provided To Carrier By Shipper",
5662
5649
  "C13" => "Loan Paid in Full",
@@ -5682,7 +5669,7 @@ module Stupidedi
5682
5669
  "D04" => "Student was received from another attendance reporting unit in the same school",
5683
5670
  "D05" => "Student was received from a school in the same district",
5684
5671
  "D06" => "Student was received from another public school outside the district either in- or out-of-state",
5685
- "D07" => "Student was received from a nonpublic school either in or out of the district or has returned after having been enrolled in a home education program; The student must have been enrolled", "pre" => "iously in a public school this year",
5672
+ "D07" => "Student was received from a nonpublic school either in or out of the district or has returned after having been enrolled in a home education program; The student must have been enrolled previously in a public school this year",
5686
5673
  "D08" => "Student unexpectedly reentered the same school after withdrawing or being discharged",
5687
5674
  "D09" => "Student was expected to attend a school but did not enter as expected for unknown reasons",
5688
5675
  "D10" => "Student was promoted, retained, or transferred to another attendance-reporting unit in the same school",
@@ -90,7 +90,7 @@ module Stupidedi
90
90
  end
91
91
  end
92
92
 
93
- ansi.element("DT.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
93
+ ansi.element("DT.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
94
94
  end
95
95
 
96
96
  # @return [String]
@@ -282,7 +282,7 @@ module Stupidedi
282
282
  end
283
283
  end
284
284
 
285
- ansi.element("DT.value#{id}") << "(#{"%04d-%02d-%02d" % [year, month, day]})"
285
+ ansi.element("DT.value#{id}") + "(#{"%04d-%02d-%02d" % [year, month, day]})"
286
286
  end
287
287
 
288
288
  # @return [String]
@@ -463,7 +463,7 @@ module Stupidedi
463
463
  end
464
464
  end
465
465
 
466
- ansi.element("DT.value#{id}") << "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
466
+ ansi.element("DT.value#{id}") + "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
467
467
  end
468
468
 
469
469
  # @return [String]
@@ -100,7 +100,7 @@ module Stupidedi
100
100
  end
101
101
  end
102
102
 
103
- ansi.element("Nn.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
103
+ ansi.element("Nn.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
104
104
  end
105
105
 
106
106
  # @return [String]
@@ -240,7 +240,7 @@ module Stupidedi
240
240
  end
241
241
  end
242
242
 
243
- ansi.element("Nn.value#{id}") << "(#{to_s})"
243
+ ansi.element("Nn.value#{id}") + "(#{to_s})"
244
244
  end
245
245
 
246
246
  # @return [String]
@@ -89,7 +89,7 @@ module Stupidedi
89
89
  end
90
90
  end
91
91
 
92
- ansi.element(" R.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
92
+ ansi.element(" R.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
93
93
  end
94
94
 
95
95
  # @return [String]
@@ -229,7 +229,7 @@ module Stupidedi
229
229
  end
230
230
  end
231
231
 
232
- ansi.element(" R.value#{id}") << "(#{to_s})"
232
+ ansi.element(" R.value#{id}") + "(#{to_s})"
233
233
  end
234
234
 
235
235
  # @return [String]
@@ -119,7 +119,7 @@ module Stupidedi
119
119
  end
120
120
  end
121
121
 
122
- ansi.element("ID.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
122
+ ansi.element("ID.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
123
123
  end
124
124
 
125
125
  # @return [String]
@@ -318,7 +318,7 @@ module Stupidedi
318
318
  value = @value
319
319
  end
320
320
 
321
- ansi.element("ID.value#{id}") << "(#{value})"
321
+ ansi.element("ID.value#{id}") + "(#{value})"
322
322
  end
323
323
  end
324
324
 
@@ -79,7 +79,7 @@ module Stupidedi
79
79
  end
80
80
  end
81
81
 
82
- ansi.element("AN.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
82
+ ansi.element("AN.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
83
83
  end
84
84
 
85
85
  # @return [String]
@@ -260,7 +260,7 @@ module Stupidedi
260
260
  end
261
261
  end
262
262
 
263
- ansi.element("AN.value#{id}") << "(#{@value})"
263
+ ansi.element("AN.value#{id}") + "(#{@value})"
264
264
  end
265
265
 
266
266
  def valid?
@@ -76,7 +76,7 @@ module Stupidedi
76
76
  end
77
77
  end
78
78
 
79
- ansi.element("TM.invalid#{id}") << "(#{ansi.invalid(@value.inspect)})"
79
+ ansi.element("TM.invalid#{id}") + "(#{ansi.invalid(@value.inspect)})"
80
80
  end
81
81
 
82
82
  # @return [String]
@@ -226,7 +226,7 @@ module Stupidedi
226
226
  mm = @minute.try{|m| "%02d" % m } || "mm"
227
227
  ss = @second.try{|s| s.to_s("F") } || "ss"
228
228
 
229
- ansi.element("TM.value#{id}") << "(#{hh}:#{mm}:#{ss})"
229
+ ansi.element("TM.value#{id}") + "(#{hh}:#{mm}:#{ss})"
230
230
  end
231
231
 
232
232
  # @return [String]
@@ -4270,7 +4270,6 @@ module Stupidedi
4270
4270
  "T" => "Status Query",
4271
4271
  "U" => "Reject",
4272
4272
  "V" => "Respond",
4273
- "A" => "reply or answer",
4274
4273
  "W" => "Reverse",
4275
4274
  "X" => "Recommend",
4276
4275
  "Y" => "Not Recommend",
@@ -4905,9 +4904,7 @@ module Stupidedi
4905
4904
  "3M" => "Water Activity",
4906
4905
  "3Z" => "Terabytes",
4907
4906
  "40" => "Milliliter per Second",
4908
- "Re" => "resents rate of absorbency",
4909
4907
  "41" => "Milliliter per Minute",
4910
- "Re" => "resents rate of absorbency",
4911
4908
  "42" => "Centisimal Hahnemannian Dilution (CH)",
4912
4909
  "43" => "Super Bulk Bag",
4913
4910
  "44" => "500 Kilogram Bulk Bag",
@@ -5153,7 +5150,6 @@ module Stupidedi
5153
5150
  "DU" => "Dyne",
5154
5151
  "DW" => "Calendar Days",
5155
5152
  "DX" => "Dynes per Centimeter",
5156
- "Un" => "t of surface tension",
5157
5153
  "DY" => "Directory Books",
5158
5154
  "DZ" => "Dozen",
5159
5155
  "E1" => "Hectometer",
@@ -5441,7 +5437,6 @@ module Stupidedi
5441
5437
  "NQ" => "Mho",
5442
5438
  "NR" => "Micro Mho",
5443
5439
  "NS" => "Short Ton",
5444
- "Tw" => " thousand pounds",
5445
5440
  "NT" => "Trailer",
5446
5441
  "NU" => "Newton-Meter",
5447
5442
  "NV" => "Vehicle",
@@ -6386,7 +6381,6 @@ module Stupidedi
6386
6381
  "1A" => "Unique Item Tracking Control Report",
6387
6382
  "1B" => "Unique Item Tracking Report Reconciliation",
6388
6383
  "1C" => "Unique Item Tracking Item Data Change",
6389
- "SE" => "CODE SOURCE 350",
6390
6384
  "1E" => "New Group Initial Enrollment",
6391
6385
  "20" => "Air Export Waybill and Invoice",
6392
6386
  "21" => "Air Import Invoice",
@@ -6400,7 +6394,6 @@ module Stupidedi
6400
6394
  "30" => "Delivery",
6401
6395
  "31" => "Subrogation Demand",
6402
6396
  "33" => "Normal",
6403
- "Co" => "orming to a standard practice",
6404
6397
  "34" => "Emergency Request",
6405
6398
  "35" => "Short Notice Request",
6406
6399
  "36" => "Damage Notification",
@@ -7034,12 +7027,9 @@ module Stupidedi
7034
7027
  "A22" => "Package Missed Inbound Plane At Origin Station",
7035
7028
  "A23" => "Customer Dropped Off Package After Aircraft Depart",
7036
7029
  "A24" => "Accident",
7037
- "Del" => "y caused by shipment being contained in vehicle involved in accident",
7038
7030
  "A25" => "Package Received At Destination Station Without Airbill",
7039
7031
  "A26" => "Consignee Related",
7040
- "Uns" => "ecified delay caused by consignee",
7041
7032
  "A27" => "Driver Related",
7042
- "The" => "driver returned the shipment to the terminal",
7043
7033
  "A28" => "Package Missorted During Aircraft Unload",
7044
7034
  "A29" => "Hold Changed To Delivery Package",
7045
7035
  "A30" => "Mechanical Breakdown",
@@ -7096,7 +7086,6 @@ module Stupidedi
7096
7086
  "ANA" => "Agent Not Appointed",
7097
7087
  "ANL" => "Agent Not Licensed",
7098
7088
  "B01" => "Reconsigned",
7099
- "The" => "shipper or consignee redirected the shipment",
7100
7089
  "B02" => "Appointment or Pre-Arranged Delivery Date",
7101
7090
  "B03" => "Trap for Customer",
7102
7091
  "B04" => "Held for Payment",
@@ -7124,7 +7113,6 @@ module Stupidedi
7124
7113
  "B26" => "International diploma or certificate (such as International Baccalaureate)",
7125
7114
  "B27" => "Student is eligible to continue or return or both",
7126
7115
  "B28" => "Student is on Suspension or Dismissal",
7127
- "For" => "unstated reasons",
7128
7116
  "B29" => "Student is expelled (from PreK - grade 12)",
7129
7117
  "B30" => "Currently enrolled but courses in progress not included",
7130
7118
  "B31" => "Not currently enrolled",
@@ -7171,7 +7159,6 @@ module Stupidedi
7171
7159
  "C08" => "Collect on Delivery Required",
7172
7160
  "C09" => "Cash Not Available from Consignee",
7173
7161
  "C10" => "Customs (Import/Export)",
7174
- "Del" => "very delayed by customs",
7175
7162
  "C11" => "No Requested Arrival Date Provided To Carrier By Shipper",
7176
7163
  "C12" => "No Requested Arrival Time Provided To Carrier By Shipper",
7177
7164
  "C13" => "Loan Paid in Full",
@@ -7197,7 +7184,7 @@ module Stupidedi
7197
7184
  "D04" => "Student was received from another attendance reporting unit in the same school",
7198
7185
  "D05" => "Student was received from a school in the same district",
7199
7186
  "D06" => "Student was received from another public school outside the district either in- or out-of-state",
7200
- "D07" => "Student was received from a nonpublic school either in or out of the district or has returned after having been enrolled in a home education program; The student must have been enrolled", "pre" => "iously in a public school this year",
7187
+ "D07" => "Student was received from a nonpublic school either in or out of the district or has returned after having been enrolled in a home education program; The student must have been enrolled previously in a public school this year",
7201
7188
  "D08" => "Student unexpectedly reentered the same school after withdrawing or being discharged",
7202
7189
  "D09" => "Student was expected to attend a school but did not enter as expected for unknown reasons",
7203
7190
  "D10" => "Student was promoted, retained, or transferred to another attendance-reporting unit in the same school",