stupidedi 1.2.20 → 1.3.21

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 (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
@@ -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]
@@ -281,7 +281,7 @@ module Stupidedi
281
281
  end
282
282
  end
283
283
 
284
- ansi.element("DT.value#{id}") << "(#{"%04d-%02d-%02d" % [year, month, day]})"
284
+ ansi.element("DT.value#{id}") + "(#{"%04d-%02d-%02d" % [year, month, day]})"
285
285
  end
286
286
 
287
287
  # @return [String]
@@ -462,7 +462,7 @@ module Stupidedi
462
462
  end
463
463
  end
464
464
 
465
- ansi.element("DT.value#{id}") << "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
465
+ ansi.element("DT.value#{id}") + "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
466
466
  end
467
467
 
468
468
  # @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]
@@ -230,7 +230,7 @@ module Stupidedi
230
230
  end
231
231
  end
232
232
 
233
- ansi.element(" R.value#{id}") << "(#{to_s})"
233
+ ansi.element(" R.value#{id}") + "(#{to_s})"
234
234
  end
235
235
 
236
236
  # @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]
@@ -316,7 +316,7 @@ module Stupidedi
316
316
  value = @value
317
317
  end
318
318
 
319
- ansi.element("ID.value#{id}") << "(#{value})"
319
+ ansi.element("ID.value#{id}") + "(#{value})"
320
320
  end
321
321
  end
322
322
 
@@ -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]
@@ -261,7 +261,7 @@ module Stupidedi
261
261
  end
262
262
  end
263
263
 
264
- ansi.element("AN.value#{id}") << "(#{@value})"
264
+ ansi.element("AN.value#{id}") + "(#{@value})"
265
265
  end
266
266
 
267
267
  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]
@@ -4271,7 +4271,6 @@ module Stupidedi
4271
4271
  "T" => "Status Query",
4272
4272
  "U" => "Reject",
4273
4273
  "V" => "Respond",
4274
- "A" => "reply or answer",
4275
4274
  "W" => "Reverse",
4276
4275
  "X" => "Recommend",
4277
4276
  "Y" => "Not Recommend",
@@ -4907,9 +4906,7 @@ module Stupidedi
4907
4906
  "3M" => "Water Activity",
4908
4907
  "3Z" => "Terabytes",
4909
4908
  "40" => "Milliliter per Second",
4910
- "Re" => "resents rate of absorbency",
4911
4909
  "41" => "Milliliter per Minute",
4912
- "Re" => "resents rate of absorbency",
4913
4910
  "42" => "Centisimal Hahnemannian Dilution (CH)",
4914
4911
  "43" => "Super Bulk Bag",
4915
4912
  "44" => "500 Kilogram Bulk Bag",
@@ -5155,7 +5152,6 @@ module Stupidedi
5155
5152
  "DU" => "Dyne",
5156
5153
  "DW" => "Calendar Days",
5157
5154
  "DX" => "Dynes per Centimeter",
5158
- "Un" => "t of surface tension",
5159
5155
  "DY" => "Directory Books",
5160
5156
  "DZ" => "Dozen",
5161
5157
  "E1" => "Hectometer",
@@ -5443,7 +5439,6 @@ module Stupidedi
5443
5439
  "NQ" => "Mho",
5444
5440
  "NR" => "Micro Mho",
5445
5441
  "NS" => "Short Ton",
5446
- "Tw" => " thousand pounds",
5447
5442
  "NT" => "Trailer",
5448
5443
  "NU" => "Newton-Meter",
5449
5444
  "NV" => "Vehicle",
@@ -6389,7 +6384,6 @@ module Stupidedi
6389
6384
  "1A" => "Unique Item Tracking Control Report",
6390
6385
  "1B" => "Unique Item Tracking Report Reconciliation",
6391
6386
  "1C" => "Unique Item Tracking Item Data Change",
6392
- "SE" => "CODE SOURCE 350",
6393
6387
  "1E" => "New Group Initial Enrollment",
6394
6388
  "20" => "Air Export Waybill and Invoice",
6395
6389
  "21" => "Air Import Invoice",
@@ -6403,7 +6397,6 @@ module Stupidedi
6403
6397
  "30" => "Delivery",
6404
6398
  "31" => "Subrogation Demand",
6405
6399
  "33" => "Normal",
6406
- "Co" => "orming to a standard practice",
6407
6400
  "34" => "Emergency Request",
6408
6401
  "35" => "Short Notice Request",
6409
6402
  "36" => "Damage Notification",
@@ -7037,12 +7030,9 @@ module Stupidedi
7037
7030
  "A22" => "Package Missed Inbound Plane At Origin Station",
7038
7031
  "A23" => "Customer Dropped Off Package After Aircraft Depart",
7039
7032
  "A24" => "Accident",
7040
- "Del" => "y caused by shipment being contained in vehicle involved in accident",
7041
7033
  "A25" => "Package Received At Destination Station Without Airbill",
7042
7034
  "A26" => "Consignee Related",
7043
- "Uns" => "ecified delay caused by consignee",
7044
7035
  "A27" => "Driver Related",
7045
- "The" => "driver returned the shipment to the terminal",
7046
7036
  "A28" => "Package Missorted During Aircraft Unload",
7047
7037
  "A29" => "Hold Changed To Delivery Package",
7048
7038
  "A30" => "Mechanical Breakdown",
@@ -7099,7 +7089,6 @@ module Stupidedi
7099
7089
  "ANA" => "Agent Not Appointed",
7100
7090
  "ANL" => "Agent Not Licensed",
7101
7091
  "B01" => "Reconsigned",
7102
- "The" => "shipper or consignee redirected the shipment",
7103
7092
  "B02" => "Appointment or Pre-Arranged Delivery Date",
7104
7093
  "B03" => "Trap for Customer",
7105
7094
  "B04" => "Held for Payment",
@@ -7127,7 +7116,6 @@ module Stupidedi
7127
7116
  "B26" => "International diploma or certificate (such as International Baccalaureate)",
7128
7117
  "B27" => "Student is eligible to continue or return or both",
7129
7118
  "B28" => "Student is on Suspension or Dismissal",
7130
- "For" => "unstated reasons",
7131
7119
  "B29" => "Student is expelled (from PreK - grade 12)",
7132
7120
  "B30" => "Currently enrolled but courses in progress not included",
7133
7121
  "B31" => "Not currently enrolled",
@@ -7174,7 +7162,6 @@ module Stupidedi
7174
7162
  "C08" => "Collect on Delivery Required",
7175
7163
  "C09" => "Cash Not Available from Consignee",
7176
7164
  "C10" => "Customs (Import/Export)",
7177
- "Del" => "very delayed by customs",
7178
7165
  "C11" => "No Requested Arrival Date Provided To Carrier By Shipper",
7179
7166
  "C12" => "No Requested Arrival Time Provided To Carrier By Shipper",
7180
7167
  "C13" => "Loan Paid in Full",
@@ -7200,7 +7187,7 @@ module Stupidedi
7200
7187
  "D04" => "Student was received from another attendance reporting unit in the same school",
7201
7188
  "D05" => "Student was received from a school in the same district",
7202
7189
  "D06" => "Student was received from another public school outside the district either in- or out-of-state",
7203
- "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",
7190
+ "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",
7204
7191
  "D08" => "Student unexpectedly reentered the same school after withdrawing or being discharged",
7205
7192
  "D09" => "Student was expected to attend a school but did not enter as expected for unknown reasons",
7206
7193
  "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]
@@ -231,7 +231,7 @@ module Stupidedi
231
231
  end
232
232
  end
233
233
 
234
- ansi.element(" R.value#{id}") << "(#{to_s})"
234
+ ansi.element(" R.value#{id}") + "(#{to_s})"
235
235
  end
236
236
 
237
237
  # @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]
@@ -317,7 +317,7 @@ module Stupidedi
317
317
  value = @value
318
318
  end
319
319
 
320
- ansi.element("ID.value#{id}") << "(#{value})"
320
+ ansi.element("ID.value#{id}") + "(#{value})"
321
321
  end
322
322
  end
323
323
 
@@ -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]
@@ -262,7 +262,7 @@ module Stupidedi
262
262
  end
263
263
  end
264
264
 
265
- ansi.element("AN.value#{id}") << "(#{@value})"
265
+ ansi.element("AN.value#{id}") + "(#{@value})"
266
266
  end
267
267
 
268
268
  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]
@@ -4804,7 +4804,7 @@ module Stupidedi
4804
4804
  "232" => "Claim Statement Period Start",
4805
4805
  "233" => "Claim Statement Period End",
4806
4806
  "405" => "Production",
4807
- "472" => "service"))
4807
+ "472" => "Service"))
4808
4808
 
4809
4809
  E375 = t::ID.new(:E375 , "Tariff Service Code" , 2, 2)
4810
4810
  E380 = t:: R.new(:E380 , "Quantity" , 1, 15)
@@ -5494,7 +5494,6 @@ module Stupidedi
5494
5494
  "1A" => "Unique Item Tracking Control Report",
5495
5495
  "1B" => "Unique Item Tracking Report Reconciliation",
5496
5496
  "1C" => "Unique Item Tracking Item Data Change",
5497
- "SE" => "CODE SOURCE 350",
5498
5497
  "1E" => "New Group Initial Enrollment",
5499
5498
  "20" => "Air Export Waybill and Invoice",
5500
5499
  "21" => "Air Import Invoice",
@@ -5508,7 +5507,6 @@ module Stupidedi
5508
5507
  "30" => "Delivery",
5509
5508
  "31" => "Subrogation Demand",
5510
5509
  "33" => "Normal",
5511
- "Co" => "orming to a standard practice",
5512
5510
  "34" => "Emergency Request",
5513
5511
  "35" => "Short Notice Request",
5514
5512
  "36" => "Damage Notification",
@@ -5905,6 +5903,7 @@ module Stupidedi
5905
5903
  "SB" => "Second Notice of Balance Due",
5906
5904
  "SC" => "Deprescription",
5907
5905
  "SD" => "Supply Process Deficiency",
5906
+ "SE" => "Special Bilateral",
5908
5907
  "SF" => "Single Family Program",
5909
5908
  "SG" => "Sample Goods Invoice",
5910
5909
  "SH" => "Shipment Status Notification",
@@ -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]
@@ -283,7 +283,7 @@ module Stupidedi
283
283
  end
284
284
  end
285
285
 
286
- ansi.element("DT.value#{id}") << "(#{"%04d-%02d-%02d" % [year, month, day]})"
286
+ ansi.element("DT.value#{id}") + "(#{"%04d-%02d-%02d" % [year, month, day]})"
287
287
  end
288
288
 
289
289
  # @return [String]
@@ -464,7 +464,7 @@ module Stupidedi
464
464
  end
465
465
  end
466
466
 
467
- ansi.element("DT.value#{id}") << "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
467
+ ansi.element("DT.value#{id}") + "(XX#{"%02d-%02d-%02d" % [@year, @month, @day]})"
468
468
  end
469
469
 
470
470
  # @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]
@@ -230,7 +230,7 @@ module Stupidedi
230
230
  end
231
231
  end
232
232
 
233
- ansi.element(" R.value#{id}") << "(#{to_s})"
233
+ ansi.element(" R.value#{id}") + "(#{to_s})"
234
234
  end
235
235
 
236
236
  # @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]
@@ -262,7 +262,7 @@ module Stupidedi
262
262
  end
263
263
  end
264
264
 
265
- ansi.element("AN.value#{id}") << "(#{@value})"
265
+ ansi.element("AN.value#{id}") + "(#{@value})"
266
266
  end
267
267
 
268
268
  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]