cucumber-messages 24.0.1 → 25.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/cucumber/messages/attachment.rb +126 -0
  4. data/lib/cucumber/messages/attachment_content_encoding.rb +11 -0
  5. data/lib/cucumber/messages/background.rb +64 -0
  6. data/lib/cucumber/messages/ci.rb +62 -0
  7. data/lib/cucumber/messages/comment.rb +50 -0
  8. data/lib/cucumber/messages/data_table.rb +41 -0
  9. data/lib/cucumber/messages/doc_string.rb +51 -0
  10. data/lib/cucumber/messages/duration.rb +50 -0
  11. data/lib/cucumber/messages/envelope.rb +124 -0
  12. data/lib/cucumber/messages/examples.rb +74 -0
  13. data/lib/cucumber/messages/exception.rb +57 -0
  14. data/lib/cucumber/messages/feature.rb +87 -0
  15. data/lib/cucumber/messages/feature_child.rb +49 -0
  16. data/lib/cucumber/messages/gherkin_document.rb +62 -0
  17. data/lib/cucumber/messages/git.rb +54 -0
  18. data/lib/cucumber/messages/group.rb +46 -0
  19. data/lib/cucumber/messages/helpers/id_generator/incrementing.rb +20 -0
  20. data/lib/cucumber/messages/helpers/id_generator/uuid.rb +17 -0
  21. data/lib/cucumber/messages/helpers/id_generator.rb +4 -0
  22. data/lib/cucumber/messages/helpers/ndjson_to_message_enumerator.rb +30 -0
  23. data/lib/cucumber/messages/helpers/time_conversion.rb +31 -0
  24. data/lib/cucumber/messages/hook.rb +51 -0
  25. data/lib/cucumber/messages/java_method.rb +46 -0
  26. data/lib/cucumber/messages/java_stack_trace_element.rb +46 -0
  27. data/lib/cucumber/messages/location.rb +44 -0
  28. data/lib/cucumber/messages/message.rb +92 -4
  29. data/lib/cucumber/messages/meta.rb +81 -0
  30. data/lib/cucumber/messages/parameter_type.rb +64 -0
  31. data/lib/cucumber/messages/parse_error.rb +41 -0
  32. data/lib/cucumber/messages/pickle.rb +107 -0
  33. data/lib/cucumber/messages/pickle_doc_string.rb +41 -0
  34. data/lib/cucumber/messages/pickle_step.rb +71 -0
  35. data/lib/cucumber/messages/pickle_step_argument.rb +43 -0
  36. data/lib/cucumber/messages/pickle_step_type.rb +13 -0
  37. data/lib/cucumber/messages/pickle_table.rb +36 -0
  38. data/lib/cucumber/messages/pickle_table_cell.rb +36 -0
  39. data/lib/cucumber/messages/pickle_table_row.rb +36 -0
  40. data/lib/cucumber/messages/pickle_tag.rb +47 -0
  41. data/lib/cucumber/messages/product.rb +49 -0
  42. data/lib/cucumber/messages/rule.rb +72 -0
  43. data/lib/cucumber/messages/rule_child.rb +44 -0
  44. data/lib/cucumber/messages/scenario.rb +74 -0
  45. data/lib/cucumber/messages/source.rb +63 -0
  46. data/lib/cucumber/messages/source_media_type.rb +11 -0
  47. data/lib/cucumber/messages/source_reference.rb +55 -0
  48. data/lib/cucumber/messages/step.rb +80 -0
  49. data/lib/cucumber/messages/step_definition.rb +46 -0
  50. data/lib/cucumber/messages/step_definition_pattern.rb +41 -0
  51. data/lib/cucumber/messages/step_definition_pattern_type.rb +11 -0
  52. data/lib/cucumber/messages/step_keyword_type.rb +14 -0
  53. data/lib/cucumber/messages/step_match_argument.rb +54 -0
  54. data/lib/cucumber/messages/step_match_arguments_list.rb +36 -0
  55. data/lib/cucumber/messages/table_cell.rb +49 -0
  56. data/lib/cucumber/messages/table_row.rb +54 -0
  57. data/lib/cucumber/messages/tag.rb +58 -0
  58. data/lib/cucumber/messages/test_case.rb +54 -0
  59. data/lib/cucumber/messages/test_case_finished.rb +46 -0
  60. data/lib/cucumber/messages/test_case_started.rb +69 -0
  61. data/lib/cucumber/messages/test_run_finished.rb +63 -0
  62. data/lib/cucumber/messages/test_run_started.rb +36 -0
  63. data/lib/cucumber/messages/test_step.rb +74 -0
  64. data/lib/cucumber/messages/test_step_finished.rb +51 -0
  65. data/lib/cucumber/messages/test_step_result.rb +57 -0
  66. data/lib/cucumber/messages/test_step_result_status.rb +16 -0
  67. data/lib/cucumber/messages/test_step_started.rb +46 -0
  68. data/lib/cucumber/messages/timestamp.rb +52 -0
  69. data/lib/cucumber/messages/undefined_parameter_type.rb +41 -0
  70. data/lib/cucumber/messages.rb +9 -5
  71. metadata +110 -30
  72. data/lib/cucumber/messages/id_generator.rb +0 -24
  73. data/lib/cucumber/messages/message/deserialization.rb +0 -37
  74. data/lib/cucumber/messages/message/serialization.rb +0 -70
  75. data/lib/cucumber/messages/message/utils.rb +0 -45
  76. data/lib/cucumber/messages/ndjson_to_message_enumerator.rb +0 -21
  77. data/lib/cucumber/messages/time_conversion.rb +0 -33
  78. data/lib/cucumber/messages.deserializers.rb +0 -1208
  79. data/lib/cucumber/messages.dtos.rb +0 -1782
@@ -1,1208 +0,0 @@
1
- require 'cucumber/messages.dtos'
2
- require 'json'
3
-
4
- # The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
5
- #
6
-
7
- module Cucumber
8
- module Messages
9
-
10
- class Attachment
11
-
12
- ##
13
- # Returns a new Attachment from the given hash.
14
- # If the hash keys are camelCased, they are properly assigned to the
15
- # corresponding snake_cased attributes.
16
- #
17
- # Cucumber::Messages::Attachment.from_h(some_hash) # => #<Cucumber::Messages::Attachment:0x... ...>
18
- #
19
-
20
- def self.from_h(hash)
21
- return nil if hash.nil?
22
-
23
- self.new(
24
- body: hash[:body],
25
- content_encoding: hash[:contentEncoding],
26
- file_name: hash[:fileName],
27
- media_type: hash[:mediaType],
28
- source: Source.from_h(hash[:source]),
29
- test_case_started_id: hash[:testCaseStartedId],
30
- test_step_id: hash[:testStepId],
31
- url: hash[:url],
32
- )
33
- end
34
- end
35
-
36
- class Duration
37
-
38
- ##
39
- # Returns a new Duration from the given hash.
40
- # If the hash keys are camelCased, they are properly assigned to the
41
- # corresponding snake_cased attributes.
42
- #
43
- # Cucumber::Messages::Duration.from_h(some_hash) # => #<Cucumber::Messages::Duration:0x... ...>
44
- #
45
-
46
- def self.from_h(hash)
47
- return nil if hash.nil?
48
-
49
- self.new(
50
- seconds: hash[:seconds],
51
- nanos: hash[:nanos],
52
- )
53
- end
54
- end
55
-
56
- class Envelope
57
-
58
- ##
59
- # Returns a new Envelope from the given hash.
60
- # If the hash keys are camelCased, they are properly assigned to the
61
- # corresponding snake_cased attributes.
62
- #
63
- # Cucumber::Messages::Envelope.from_h(some_hash) # => #<Cucumber::Messages::Envelope:0x... ...>
64
- #
65
-
66
- def self.from_h(hash)
67
- return nil if hash.nil?
68
-
69
- self.new(
70
- attachment: Attachment.from_h(hash[:attachment]),
71
- gherkin_document: GherkinDocument.from_h(hash[:gherkinDocument]),
72
- hook: Hook.from_h(hash[:hook]),
73
- meta: Meta.from_h(hash[:meta]),
74
- parameter_type: ParameterType.from_h(hash[:parameterType]),
75
- parse_error: ParseError.from_h(hash[:parseError]),
76
- pickle: Pickle.from_h(hash[:pickle]),
77
- source: Source.from_h(hash[:source]),
78
- step_definition: StepDefinition.from_h(hash[:stepDefinition]),
79
- test_case: TestCase.from_h(hash[:testCase]),
80
- test_case_finished: TestCaseFinished.from_h(hash[:testCaseFinished]),
81
- test_case_started: TestCaseStarted.from_h(hash[:testCaseStarted]),
82
- test_run_finished: TestRunFinished.from_h(hash[:testRunFinished]),
83
- test_run_started: TestRunStarted.from_h(hash[:testRunStarted]),
84
- test_step_finished: TestStepFinished.from_h(hash[:testStepFinished]),
85
- test_step_started: TestStepStarted.from_h(hash[:testStepStarted]),
86
- undefined_parameter_type: UndefinedParameterType.from_h(hash[:undefinedParameterType]),
87
- )
88
- end
89
- end
90
-
91
- class Exception
92
-
93
- ##
94
- # Returns a new Exception from the given hash.
95
- # If the hash keys are camelCased, they are properly assigned to the
96
- # corresponding snake_cased attributes.
97
- #
98
- # Cucumber::Messages::Exception.from_h(some_hash) # => #<Cucumber::Messages::Exception:0x... ...>
99
- #
100
-
101
- def self.from_h(hash)
102
- return nil if hash.nil?
103
-
104
- self.new(
105
- type: hash[:type],
106
- message: hash[:message],
107
- stack_trace: hash[:stackTrace],
108
- )
109
- end
110
- end
111
-
112
- class GherkinDocument
113
-
114
- ##
115
- # Returns a new GherkinDocument from the given hash.
116
- # If the hash keys are camelCased, they are properly assigned to the
117
- # corresponding snake_cased attributes.
118
- #
119
- # Cucumber::Messages::GherkinDocument.from_h(some_hash) # => #<Cucumber::Messages::GherkinDocument:0x... ...>
120
- #
121
-
122
- def self.from_h(hash)
123
- return nil if hash.nil?
124
-
125
- self.new(
126
- uri: hash[:uri],
127
- feature: Feature.from_h(hash[:feature]),
128
- comments: hash[:comments]&.map { |item| Comment.from_h(item) },
129
- )
130
- end
131
- end
132
-
133
- class Background
134
-
135
- ##
136
- # Returns a new Background from the given hash.
137
- # If the hash keys are camelCased, they are properly assigned to the
138
- # corresponding snake_cased attributes.
139
- #
140
- # Cucumber::Messages::Background.from_h(some_hash) # => #<Cucumber::Messages::Background:0x... ...>
141
- #
142
-
143
- def self.from_h(hash)
144
- return nil if hash.nil?
145
-
146
- self.new(
147
- location: Location.from_h(hash[:location]),
148
- keyword: hash[:keyword],
149
- name: hash[:name],
150
- description: hash[:description],
151
- steps: hash[:steps]&.map { |item| Step.from_h(item) },
152
- id: hash[:id],
153
- )
154
- end
155
- end
156
-
157
- class Comment
158
-
159
- ##
160
- # Returns a new Comment from the given hash.
161
- # If the hash keys are camelCased, they are properly assigned to the
162
- # corresponding snake_cased attributes.
163
- #
164
- # Cucumber::Messages::Comment.from_h(some_hash) # => #<Cucumber::Messages::Comment:0x... ...>
165
- #
166
-
167
- def self.from_h(hash)
168
- return nil if hash.nil?
169
-
170
- self.new(
171
- location: Location.from_h(hash[:location]),
172
- text: hash[:text],
173
- )
174
- end
175
- end
176
-
177
- class DataTable
178
-
179
- ##
180
- # Returns a new DataTable from the given hash.
181
- # If the hash keys are camelCased, they are properly assigned to the
182
- # corresponding snake_cased attributes.
183
- #
184
- # Cucumber::Messages::DataTable.from_h(some_hash) # => #<Cucumber::Messages::DataTable:0x... ...>
185
- #
186
-
187
- def self.from_h(hash)
188
- return nil if hash.nil?
189
-
190
- self.new(
191
- location: Location.from_h(hash[:location]),
192
- rows: hash[:rows]&.map { |item| TableRow.from_h(item) },
193
- )
194
- end
195
- end
196
-
197
- class DocString
198
-
199
- ##
200
- # Returns a new DocString from the given hash.
201
- # If the hash keys are camelCased, they are properly assigned to the
202
- # corresponding snake_cased attributes.
203
- #
204
- # Cucumber::Messages::DocString.from_h(some_hash) # => #<Cucumber::Messages::DocString:0x... ...>
205
- #
206
-
207
- def self.from_h(hash)
208
- return nil if hash.nil?
209
-
210
- self.new(
211
- location: Location.from_h(hash[:location]),
212
- media_type: hash[:mediaType],
213
- content: hash[:content],
214
- delimiter: hash[:delimiter],
215
- )
216
- end
217
- end
218
-
219
- class Examples
220
-
221
- ##
222
- # Returns a new Examples from the given hash.
223
- # If the hash keys are camelCased, they are properly assigned to the
224
- # corresponding snake_cased attributes.
225
- #
226
- # Cucumber::Messages::Examples.from_h(some_hash) # => #<Cucumber::Messages::Examples:0x... ...>
227
- #
228
-
229
- def self.from_h(hash)
230
- return nil if hash.nil?
231
-
232
- self.new(
233
- location: Location.from_h(hash[:location]),
234
- tags: hash[:tags]&.map { |item| Tag.from_h(item) },
235
- keyword: hash[:keyword],
236
- name: hash[:name],
237
- description: hash[:description],
238
- table_header: TableRow.from_h(hash[:tableHeader]),
239
- table_body: hash[:tableBody]&.map { |item| TableRow.from_h(item) },
240
- id: hash[:id],
241
- )
242
- end
243
- end
244
-
245
- class Feature
246
-
247
- ##
248
- # Returns a new Feature from the given hash.
249
- # If the hash keys are camelCased, they are properly assigned to the
250
- # corresponding snake_cased attributes.
251
- #
252
- # Cucumber::Messages::Feature.from_h(some_hash) # => #<Cucumber::Messages::Feature:0x... ...>
253
- #
254
-
255
- def self.from_h(hash)
256
- return nil if hash.nil?
257
-
258
- self.new(
259
- location: Location.from_h(hash[:location]),
260
- tags: hash[:tags]&.map { |item| Tag.from_h(item) },
261
- language: hash[:language],
262
- keyword: hash[:keyword],
263
- name: hash[:name],
264
- description: hash[:description],
265
- children: hash[:children]&.map { |item| FeatureChild.from_h(item) },
266
- )
267
- end
268
- end
269
-
270
- class FeatureChild
271
-
272
- ##
273
- # Returns a new FeatureChild from the given hash.
274
- # If the hash keys are camelCased, they are properly assigned to the
275
- # corresponding snake_cased attributes.
276
- #
277
- # Cucumber::Messages::FeatureChild.from_h(some_hash) # => #<Cucumber::Messages::FeatureChild:0x... ...>
278
- #
279
-
280
- def self.from_h(hash)
281
- return nil if hash.nil?
282
-
283
- self.new(
284
- rule: Rule.from_h(hash[:rule]),
285
- background: Background.from_h(hash[:background]),
286
- scenario: Scenario.from_h(hash[:scenario]),
287
- )
288
- end
289
- end
290
-
291
- class Rule
292
-
293
- ##
294
- # Returns a new Rule from the given hash.
295
- # If the hash keys are camelCased, they are properly assigned to the
296
- # corresponding snake_cased attributes.
297
- #
298
- # Cucumber::Messages::Rule.from_h(some_hash) # => #<Cucumber::Messages::Rule:0x... ...>
299
- #
300
-
301
- def self.from_h(hash)
302
- return nil if hash.nil?
303
-
304
- self.new(
305
- location: Location.from_h(hash[:location]),
306
- tags: hash[:tags]&.map { |item| Tag.from_h(item) },
307
- keyword: hash[:keyword],
308
- name: hash[:name],
309
- description: hash[:description],
310
- children: hash[:children]&.map { |item| RuleChild.from_h(item) },
311
- id: hash[:id],
312
- )
313
- end
314
- end
315
-
316
- class RuleChild
317
-
318
- ##
319
- # Returns a new RuleChild from the given hash.
320
- # If the hash keys are camelCased, they are properly assigned to the
321
- # corresponding snake_cased attributes.
322
- #
323
- # Cucumber::Messages::RuleChild.from_h(some_hash) # => #<Cucumber::Messages::RuleChild:0x... ...>
324
- #
325
-
326
- def self.from_h(hash)
327
- return nil if hash.nil?
328
-
329
- self.new(
330
- background: Background.from_h(hash[:background]),
331
- scenario: Scenario.from_h(hash[:scenario]),
332
- )
333
- end
334
- end
335
-
336
- class Scenario
337
-
338
- ##
339
- # Returns a new Scenario from the given hash.
340
- # If the hash keys are camelCased, they are properly assigned to the
341
- # corresponding snake_cased attributes.
342
- #
343
- # Cucumber::Messages::Scenario.from_h(some_hash) # => #<Cucumber::Messages::Scenario:0x... ...>
344
- #
345
-
346
- def self.from_h(hash)
347
- return nil if hash.nil?
348
-
349
- self.new(
350
- location: Location.from_h(hash[:location]),
351
- tags: hash[:tags]&.map { |item| Tag.from_h(item) },
352
- keyword: hash[:keyword],
353
- name: hash[:name],
354
- description: hash[:description],
355
- steps: hash[:steps]&.map { |item| Step.from_h(item) },
356
- examples: hash[:examples]&.map { |item| Examples.from_h(item) },
357
- id: hash[:id],
358
- )
359
- end
360
- end
361
-
362
- class Step
363
-
364
- ##
365
- # Returns a new Step from the given hash.
366
- # If the hash keys are camelCased, they are properly assigned to the
367
- # corresponding snake_cased attributes.
368
- #
369
- # Cucumber::Messages::Step.from_h(some_hash) # => #<Cucumber::Messages::Step:0x... ...>
370
- #
371
-
372
- def self.from_h(hash)
373
- return nil if hash.nil?
374
-
375
- self.new(
376
- location: Location.from_h(hash[:location]),
377
- keyword: hash[:keyword],
378
- keyword_type: hash[:keywordType],
379
- text: hash[:text],
380
- doc_string: DocString.from_h(hash[:docString]),
381
- data_table: DataTable.from_h(hash[:dataTable]),
382
- id: hash[:id],
383
- )
384
- end
385
- end
386
-
387
- class TableCell
388
-
389
- ##
390
- # Returns a new TableCell from the given hash.
391
- # If the hash keys are camelCased, they are properly assigned to the
392
- # corresponding snake_cased attributes.
393
- #
394
- # Cucumber::Messages::TableCell.from_h(some_hash) # => #<Cucumber::Messages::TableCell:0x... ...>
395
- #
396
-
397
- def self.from_h(hash)
398
- return nil if hash.nil?
399
-
400
- self.new(
401
- location: Location.from_h(hash[:location]),
402
- value: hash[:value],
403
- )
404
- end
405
- end
406
-
407
- class TableRow
408
-
409
- ##
410
- # Returns a new TableRow from the given hash.
411
- # If the hash keys are camelCased, they are properly assigned to the
412
- # corresponding snake_cased attributes.
413
- #
414
- # Cucumber::Messages::TableRow.from_h(some_hash) # => #<Cucumber::Messages::TableRow:0x... ...>
415
- #
416
-
417
- def self.from_h(hash)
418
- return nil if hash.nil?
419
-
420
- self.new(
421
- location: Location.from_h(hash[:location]),
422
- cells: hash[:cells]&.map { |item| TableCell.from_h(item) },
423
- id: hash[:id],
424
- )
425
- end
426
- end
427
-
428
- class Tag
429
-
430
- ##
431
- # Returns a new Tag from the given hash.
432
- # If the hash keys are camelCased, they are properly assigned to the
433
- # corresponding snake_cased attributes.
434
- #
435
- # Cucumber::Messages::Tag.from_h(some_hash) # => #<Cucumber::Messages::Tag:0x... ...>
436
- #
437
-
438
- def self.from_h(hash)
439
- return nil if hash.nil?
440
-
441
- self.new(
442
- location: Location.from_h(hash[:location]),
443
- name: hash[:name],
444
- id: hash[:id],
445
- )
446
- end
447
- end
448
-
449
- class Hook
450
-
451
- ##
452
- # Returns a new Hook from the given hash.
453
- # If the hash keys are camelCased, they are properly assigned to the
454
- # corresponding snake_cased attributes.
455
- #
456
- # Cucumber::Messages::Hook.from_h(some_hash) # => #<Cucumber::Messages::Hook:0x... ...>
457
- #
458
-
459
- def self.from_h(hash)
460
- return nil if hash.nil?
461
-
462
- self.new(
463
- id: hash[:id],
464
- name: hash[:name],
465
- source_reference: SourceReference.from_h(hash[:sourceReference]),
466
- tag_expression: hash[:tagExpression],
467
- )
468
- end
469
- end
470
-
471
- class Location
472
-
473
- ##
474
- # Returns a new Location from the given hash.
475
- # If the hash keys are camelCased, they are properly assigned to the
476
- # corresponding snake_cased attributes.
477
- #
478
- # Cucumber::Messages::Location.from_h(some_hash) # => #<Cucumber::Messages::Location:0x... ...>
479
- #
480
-
481
- def self.from_h(hash)
482
- return nil if hash.nil?
483
-
484
- self.new(
485
- line: hash[:line],
486
- column: hash[:column],
487
- )
488
- end
489
- end
490
-
491
- class Meta
492
-
493
- ##
494
- # Returns a new Meta from the given hash.
495
- # If the hash keys are camelCased, they are properly assigned to the
496
- # corresponding snake_cased attributes.
497
- #
498
- # Cucumber::Messages::Meta.from_h(some_hash) # => #<Cucumber::Messages::Meta:0x... ...>
499
- #
500
-
501
- def self.from_h(hash)
502
- return nil if hash.nil?
503
-
504
- self.new(
505
- protocol_version: hash[:protocolVersion],
506
- implementation: Product.from_h(hash[:implementation]),
507
- runtime: Product.from_h(hash[:runtime]),
508
- os: Product.from_h(hash[:os]),
509
- cpu: Product.from_h(hash[:cpu]),
510
- ci: Ci.from_h(hash[:ci]),
511
- )
512
- end
513
- end
514
-
515
- class Ci
516
-
517
- ##
518
- # Returns a new Ci from the given hash.
519
- # If the hash keys are camelCased, they are properly assigned to the
520
- # corresponding snake_cased attributes.
521
- #
522
- # Cucumber::Messages::Ci.from_h(some_hash) # => #<Cucumber::Messages::Ci:0x... ...>
523
- #
524
-
525
- def self.from_h(hash)
526
- return nil if hash.nil?
527
-
528
- self.new(
529
- name: hash[:name],
530
- url: hash[:url],
531
- build_number: hash[:buildNumber],
532
- git: Git.from_h(hash[:git]),
533
- )
534
- end
535
- end
536
-
537
- class Git
538
-
539
- ##
540
- # Returns a new Git from the given hash.
541
- # If the hash keys are camelCased, they are properly assigned to the
542
- # corresponding snake_cased attributes.
543
- #
544
- # Cucumber::Messages::Git.from_h(some_hash) # => #<Cucumber::Messages::Git:0x... ...>
545
- #
546
-
547
- def self.from_h(hash)
548
- return nil if hash.nil?
549
-
550
- self.new(
551
- remote: hash[:remote],
552
- revision: hash[:revision],
553
- branch: hash[:branch],
554
- tag: hash[:tag],
555
- )
556
- end
557
- end
558
-
559
- class Product
560
-
561
- ##
562
- # Returns a new Product from the given hash.
563
- # If the hash keys are camelCased, they are properly assigned to the
564
- # corresponding snake_cased attributes.
565
- #
566
- # Cucumber::Messages::Product.from_h(some_hash) # => #<Cucumber::Messages::Product:0x... ...>
567
- #
568
-
569
- def self.from_h(hash)
570
- return nil if hash.nil?
571
-
572
- self.new(
573
- name: hash[:name],
574
- version: hash[:version],
575
- )
576
- end
577
- end
578
-
579
- class ParameterType
580
-
581
- ##
582
- # Returns a new ParameterType from the given hash.
583
- # If the hash keys are camelCased, they are properly assigned to the
584
- # corresponding snake_cased attributes.
585
- #
586
- # Cucumber::Messages::ParameterType.from_h(some_hash) # => #<Cucumber::Messages::ParameterType:0x... ...>
587
- #
588
-
589
- def self.from_h(hash)
590
- return nil if hash.nil?
591
-
592
- self.new(
593
- name: hash[:name],
594
- regular_expressions: hash[:regularExpressions],
595
- prefer_for_regular_expression_match: hash[:preferForRegularExpressionMatch],
596
- use_for_snippets: hash[:useForSnippets],
597
- id: hash[:id],
598
- source_reference: SourceReference.from_h(hash[:sourceReference]),
599
- )
600
- end
601
- end
602
-
603
- class ParseError
604
-
605
- ##
606
- # Returns a new ParseError from the given hash.
607
- # If the hash keys are camelCased, they are properly assigned to the
608
- # corresponding snake_cased attributes.
609
- #
610
- # Cucumber::Messages::ParseError.from_h(some_hash) # => #<Cucumber::Messages::ParseError:0x... ...>
611
- #
612
-
613
- def self.from_h(hash)
614
- return nil if hash.nil?
615
-
616
- self.new(
617
- source: SourceReference.from_h(hash[:source]),
618
- message: hash[:message],
619
- )
620
- end
621
- end
622
-
623
- class Pickle
624
-
625
- ##
626
- # Returns a new Pickle from the given hash.
627
- # If the hash keys are camelCased, they are properly assigned to the
628
- # corresponding snake_cased attributes.
629
- #
630
- # Cucumber::Messages::Pickle.from_h(some_hash) # => #<Cucumber::Messages::Pickle:0x... ...>
631
- #
632
-
633
- def self.from_h(hash)
634
- return nil if hash.nil?
635
-
636
- self.new(
637
- id: hash[:id],
638
- uri: hash[:uri],
639
- name: hash[:name],
640
- language: hash[:language],
641
- steps: hash[:steps]&.map { |item| PickleStep.from_h(item) },
642
- tags: hash[:tags]&.map { |item| PickleTag.from_h(item) },
643
- ast_node_ids: hash[:astNodeIds],
644
- )
645
- end
646
- end
647
-
648
- class PickleDocString
649
-
650
- ##
651
- # Returns a new PickleDocString from the given hash.
652
- # If the hash keys are camelCased, they are properly assigned to the
653
- # corresponding snake_cased attributes.
654
- #
655
- # Cucumber::Messages::PickleDocString.from_h(some_hash) # => #<Cucumber::Messages::PickleDocString:0x... ...>
656
- #
657
-
658
- def self.from_h(hash)
659
- return nil if hash.nil?
660
-
661
- self.new(
662
- media_type: hash[:mediaType],
663
- content: hash[:content],
664
- )
665
- end
666
- end
667
-
668
- class PickleStep
669
-
670
- ##
671
- # Returns a new PickleStep from the given hash.
672
- # If the hash keys are camelCased, they are properly assigned to the
673
- # corresponding snake_cased attributes.
674
- #
675
- # Cucumber::Messages::PickleStep.from_h(some_hash) # => #<Cucumber::Messages::PickleStep:0x... ...>
676
- #
677
-
678
- def self.from_h(hash)
679
- return nil if hash.nil?
680
-
681
- self.new(
682
- argument: PickleStepArgument.from_h(hash[:argument]),
683
- ast_node_ids: hash[:astNodeIds],
684
- id: hash[:id],
685
- type: hash[:type],
686
- text: hash[:text],
687
- )
688
- end
689
- end
690
-
691
- class PickleStepArgument
692
-
693
- ##
694
- # Returns a new PickleStepArgument from the given hash.
695
- # If the hash keys are camelCased, they are properly assigned to the
696
- # corresponding snake_cased attributes.
697
- #
698
- # Cucumber::Messages::PickleStepArgument.from_h(some_hash) # => #<Cucumber::Messages::PickleStepArgument:0x... ...>
699
- #
700
-
701
- def self.from_h(hash)
702
- return nil if hash.nil?
703
-
704
- self.new(
705
- doc_string: PickleDocString.from_h(hash[:docString]),
706
- data_table: PickleTable.from_h(hash[:dataTable]),
707
- )
708
- end
709
- end
710
-
711
- class PickleTable
712
-
713
- ##
714
- # Returns a new PickleTable from the given hash.
715
- # If the hash keys are camelCased, they are properly assigned to the
716
- # corresponding snake_cased attributes.
717
- #
718
- # Cucumber::Messages::PickleTable.from_h(some_hash) # => #<Cucumber::Messages::PickleTable:0x... ...>
719
- #
720
-
721
- def self.from_h(hash)
722
- return nil if hash.nil?
723
-
724
- self.new(
725
- rows: hash[:rows]&.map { |item| PickleTableRow.from_h(item) },
726
- )
727
- end
728
- end
729
-
730
- class PickleTableCell
731
-
732
- ##
733
- # Returns a new PickleTableCell from the given hash.
734
- # If the hash keys are camelCased, they are properly assigned to the
735
- # corresponding snake_cased attributes.
736
- #
737
- # Cucumber::Messages::PickleTableCell.from_h(some_hash) # => #<Cucumber::Messages::PickleTableCell:0x... ...>
738
- #
739
-
740
- def self.from_h(hash)
741
- return nil if hash.nil?
742
-
743
- self.new(
744
- value: hash[:value],
745
- )
746
- end
747
- end
748
-
749
- class PickleTableRow
750
-
751
- ##
752
- # Returns a new PickleTableRow from the given hash.
753
- # If the hash keys are camelCased, they are properly assigned to the
754
- # corresponding snake_cased attributes.
755
- #
756
- # Cucumber::Messages::PickleTableRow.from_h(some_hash) # => #<Cucumber::Messages::PickleTableRow:0x... ...>
757
- #
758
-
759
- def self.from_h(hash)
760
- return nil if hash.nil?
761
-
762
- self.new(
763
- cells: hash[:cells]&.map { |item| PickleTableCell.from_h(item) },
764
- )
765
- end
766
- end
767
-
768
- class PickleTag
769
-
770
- ##
771
- # Returns a new PickleTag from the given hash.
772
- # If the hash keys are camelCased, they are properly assigned to the
773
- # corresponding snake_cased attributes.
774
- #
775
- # Cucumber::Messages::PickleTag.from_h(some_hash) # => #<Cucumber::Messages::PickleTag:0x... ...>
776
- #
777
-
778
- def self.from_h(hash)
779
- return nil if hash.nil?
780
-
781
- self.new(
782
- name: hash[:name],
783
- ast_node_id: hash[:astNodeId],
784
- )
785
- end
786
- end
787
-
788
- class Source
789
-
790
- ##
791
- # Returns a new Source from the given hash.
792
- # If the hash keys are camelCased, they are properly assigned to the
793
- # corresponding snake_cased attributes.
794
- #
795
- # Cucumber::Messages::Source.from_h(some_hash) # => #<Cucumber::Messages::Source:0x... ...>
796
- #
797
-
798
- def self.from_h(hash)
799
- return nil if hash.nil?
800
-
801
- self.new(
802
- uri: hash[:uri],
803
- data: hash[:data],
804
- media_type: hash[:mediaType],
805
- )
806
- end
807
- end
808
-
809
- class SourceReference
810
-
811
- ##
812
- # Returns a new SourceReference from the given hash.
813
- # If the hash keys are camelCased, they are properly assigned to the
814
- # corresponding snake_cased attributes.
815
- #
816
- # Cucumber::Messages::SourceReference.from_h(some_hash) # => #<Cucumber::Messages::SourceReference:0x... ...>
817
- #
818
-
819
- def self.from_h(hash)
820
- return nil if hash.nil?
821
-
822
- self.new(
823
- uri: hash[:uri],
824
- java_method: JavaMethod.from_h(hash[:javaMethod]),
825
- java_stack_trace_element: JavaStackTraceElement.from_h(hash[:javaStackTraceElement]),
826
- location: Location.from_h(hash[:location]),
827
- )
828
- end
829
- end
830
-
831
- class JavaMethod
832
-
833
- ##
834
- # Returns a new JavaMethod from the given hash.
835
- # If the hash keys are camelCased, they are properly assigned to the
836
- # corresponding snake_cased attributes.
837
- #
838
- # Cucumber::Messages::JavaMethod.from_h(some_hash) # => #<Cucumber::Messages::JavaMethod:0x... ...>
839
- #
840
-
841
- def self.from_h(hash)
842
- return nil if hash.nil?
843
-
844
- self.new(
845
- class_name: hash[:className],
846
- method_name: hash[:methodName],
847
- method_parameter_types: hash[:methodParameterTypes],
848
- )
849
- end
850
- end
851
-
852
- class JavaStackTraceElement
853
-
854
- ##
855
- # Returns a new JavaStackTraceElement from the given hash.
856
- # If the hash keys are camelCased, they are properly assigned to the
857
- # corresponding snake_cased attributes.
858
- #
859
- # Cucumber::Messages::JavaStackTraceElement.from_h(some_hash) # => #<Cucumber::Messages::JavaStackTraceElement:0x... ...>
860
- #
861
-
862
- def self.from_h(hash)
863
- return nil if hash.nil?
864
-
865
- self.new(
866
- class_name: hash[:className],
867
- file_name: hash[:fileName],
868
- method_name: hash[:methodName],
869
- )
870
- end
871
- end
872
-
873
- class StepDefinition
874
-
875
- ##
876
- # Returns a new StepDefinition from the given hash.
877
- # If the hash keys are camelCased, they are properly assigned to the
878
- # corresponding snake_cased attributes.
879
- #
880
- # Cucumber::Messages::StepDefinition.from_h(some_hash) # => #<Cucumber::Messages::StepDefinition:0x... ...>
881
- #
882
-
883
- def self.from_h(hash)
884
- return nil if hash.nil?
885
-
886
- self.new(
887
- id: hash[:id],
888
- pattern: StepDefinitionPattern.from_h(hash[:pattern]),
889
- source_reference: SourceReference.from_h(hash[:sourceReference]),
890
- )
891
- end
892
- end
893
-
894
- class StepDefinitionPattern
895
-
896
- ##
897
- # Returns a new StepDefinitionPattern from the given hash.
898
- # If the hash keys are camelCased, they are properly assigned to the
899
- # corresponding snake_cased attributes.
900
- #
901
- # Cucumber::Messages::StepDefinitionPattern.from_h(some_hash) # => #<Cucumber::Messages::StepDefinitionPattern:0x... ...>
902
- #
903
-
904
- def self.from_h(hash)
905
- return nil if hash.nil?
906
-
907
- self.new(
908
- source: hash[:source],
909
- type: hash[:type],
910
- )
911
- end
912
- end
913
-
914
- class TestCase
915
-
916
- ##
917
- # Returns a new TestCase from the given hash.
918
- # If the hash keys are camelCased, they are properly assigned to the
919
- # corresponding snake_cased attributes.
920
- #
921
- # Cucumber::Messages::TestCase.from_h(some_hash) # => #<Cucumber::Messages::TestCase:0x... ...>
922
- #
923
-
924
- def self.from_h(hash)
925
- return nil if hash.nil?
926
-
927
- self.new(
928
- id: hash[:id],
929
- pickle_id: hash[:pickleId],
930
- test_steps: hash[:testSteps]&.map { |item| TestStep.from_h(item) },
931
- )
932
- end
933
- end
934
-
935
- class Group
936
-
937
- ##
938
- # Returns a new Group from the given hash.
939
- # If the hash keys are camelCased, they are properly assigned to the
940
- # corresponding snake_cased attributes.
941
- #
942
- # Cucumber::Messages::Group.from_h(some_hash) # => #<Cucumber::Messages::Group:0x... ...>
943
- #
944
-
945
- def self.from_h(hash)
946
- return nil if hash.nil?
947
-
948
- self.new(
949
- children: hash[:children]&.map { |item| Group.from_h(item) },
950
- start: hash[:start],
951
- value: hash[:value],
952
- )
953
- end
954
- end
955
-
956
- class StepMatchArgument
957
-
958
- ##
959
- # Returns a new StepMatchArgument from the given hash.
960
- # If the hash keys are camelCased, they are properly assigned to the
961
- # corresponding snake_cased attributes.
962
- #
963
- # Cucumber::Messages::StepMatchArgument.from_h(some_hash) # => #<Cucumber::Messages::StepMatchArgument:0x... ...>
964
- #
965
-
966
- def self.from_h(hash)
967
- return nil if hash.nil?
968
-
969
- self.new(
970
- group: Group.from_h(hash[:group]),
971
- parameter_type_name: hash[:parameterTypeName],
972
- )
973
- end
974
- end
975
-
976
- class StepMatchArgumentsList
977
-
978
- ##
979
- # Returns a new StepMatchArgumentsList from the given hash.
980
- # If the hash keys are camelCased, they are properly assigned to the
981
- # corresponding snake_cased attributes.
982
- #
983
- # Cucumber::Messages::StepMatchArgumentsList.from_h(some_hash) # => #<Cucumber::Messages::StepMatchArgumentsList:0x... ...>
984
- #
985
-
986
- def self.from_h(hash)
987
- return nil if hash.nil?
988
-
989
- self.new(
990
- step_match_arguments: hash[:stepMatchArguments]&.map { |item| StepMatchArgument.from_h(item) },
991
- )
992
- end
993
- end
994
-
995
- class TestStep
996
-
997
- ##
998
- # Returns a new TestStep from the given hash.
999
- # If the hash keys are camelCased, they are properly assigned to the
1000
- # corresponding snake_cased attributes.
1001
- #
1002
- # Cucumber::Messages::TestStep.from_h(some_hash) # => #<Cucumber::Messages::TestStep:0x... ...>
1003
- #
1004
-
1005
- def self.from_h(hash)
1006
- return nil if hash.nil?
1007
-
1008
- self.new(
1009
- hook_id: hash[:hookId],
1010
- id: hash[:id],
1011
- pickle_step_id: hash[:pickleStepId],
1012
- step_definition_ids: hash[:stepDefinitionIds],
1013
- step_match_arguments_lists: hash[:stepMatchArgumentsLists]&.map { |item| StepMatchArgumentsList.from_h(item) },
1014
- )
1015
- end
1016
- end
1017
-
1018
- class TestCaseFinished
1019
-
1020
- ##
1021
- # Returns a new TestCaseFinished from the given hash.
1022
- # If the hash keys are camelCased, they are properly assigned to the
1023
- # corresponding snake_cased attributes.
1024
- #
1025
- # Cucumber::Messages::TestCaseFinished.from_h(some_hash) # => #<Cucumber::Messages::TestCaseFinished:0x... ...>
1026
- #
1027
-
1028
- def self.from_h(hash)
1029
- return nil if hash.nil?
1030
-
1031
- self.new(
1032
- test_case_started_id: hash[:testCaseStartedId],
1033
- timestamp: Timestamp.from_h(hash[:timestamp]),
1034
- will_be_retried: hash[:willBeRetried],
1035
- )
1036
- end
1037
- end
1038
-
1039
- class TestCaseStarted
1040
-
1041
- ##
1042
- # Returns a new TestCaseStarted from the given hash.
1043
- # If the hash keys are camelCased, they are properly assigned to the
1044
- # corresponding snake_cased attributes.
1045
- #
1046
- # Cucumber::Messages::TestCaseStarted.from_h(some_hash) # => #<Cucumber::Messages::TestCaseStarted:0x... ...>
1047
- #
1048
-
1049
- def self.from_h(hash)
1050
- return nil if hash.nil?
1051
-
1052
- self.new(
1053
- attempt: hash[:attempt],
1054
- id: hash[:id],
1055
- test_case_id: hash[:testCaseId],
1056
- worker_id: hash[:workerId],
1057
- timestamp: Timestamp.from_h(hash[:timestamp]),
1058
- )
1059
- end
1060
- end
1061
-
1062
- class TestRunFinished
1063
-
1064
- ##
1065
- # Returns a new TestRunFinished from the given hash.
1066
- # If the hash keys are camelCased, they are properly assigned to the
1067
- # corresponding snake_cased attributes.
1068
- #
1069
- # Cucumber::Messages::TestRunFinished.from_h(some_hash) # => #<Cucumber::Messages::TestRunFinished:0x... ...>
1070
- #
1071
-
1072
- def self.from_h(hash)
1073
- return nil if hash.nil?
1074
-
1075
- self.new(
1076
- message: hash[:message],
1077
- success: hash[:success],
1078
- timestamp: Timestamp.from_h(hash[:timestamp]),
1079
- exception: Exception.from_h(hash[:exception]),
1080
- )
1081
- end
1082
- end
1083
-
1084
- class TestRunStarted
1085
-
1086
- ##
1087
- # Returns a new TestRunStarted from the given hash.
1088
- # If the hash keys are camelCased, they are properly assigned to the
1089
- # corresponding snake_cased attributes.
1090
- #
1091
- # Cucumber::Messages::TestRunStarted.from_h(some_hash) # => #<Cucumber::Messages::TestRunStarted:0x... ...>
1092
- #
1093
-
1094
- def self.from_h(hash)
1095
- return nil if hash.nil?
1096
-
1097
- self.new(
1098
- timestamp: Timestamp.from_h(hash[:timestamp]),
1099
- )
1100
- end
1101
- end
1102
-
1103
- class TestStepFinished
1104
-
1105
- ##
1106
- # Returns a new TestStepFinished from the given hash.
1107
- # If the hash keys are camelCased, they are properly assigned to the
1108
- # corresponding snake_cased attributes.
1109
- #
1110
- # Cucumber::Messages::TestStepFinished.from_h(some_hash) # => #<Cucumber::Messages::TestStepFinished:0x... ...>
1111
- #
1112
-
1113
- def self.from_h(hash)
1114
- return nil if hash.nil?
1115
-
1116
- self.new(
1117
- test_case_started_id: hash[:testCaseStartedId],
1118
- test_step_id: hash[:testStepId],
1119
- test_step_result: TestStepResult.from_h(hash[:testStepResult]),
1120
- timestamp: Timestamp.from_h(hash[:timestamp]),
1121
- )
1122
- end
1123
- end
1124
-
1125
- class TestStepResult
1126
-
1127
- ##
1128
- # Returns a new TestStepResult from the given hash.
1129
- # If the hash keys are camelCased, they are properly assigned to the
1130
- # corresponding snake_cased attributes.
1131
- #
1132
- # Cucumber::Messages::TestStepResult.from_h(some_hash) # => #<Cucumber::Messages::TestStepResult:0x... ...>
1133
- #
1134
-
1135
- def self.from_h(hash)
1136
- return nil if hash.nil?
1137
-
1138
- self.new(
1139
- duration: Duration.from_h(hash[:duration]),
1140
- message: hash[:message],
1141
- status: hash[:status],
1142
- exception: Exception.from_h(hash[:exception]),
1143
- )
1144
- end
1145
- end
1146
-
1147
- class TestStepStarted
1148
-
1149
- ##
1150
- # Returns a new TestStepStarted from the given hash.
1151
- # If the hash keys are camelCased, they are properly assigned to the
1152
- # corresponding snake_cased attributes.
1153
- #
1154
- # Cucumber::Messages::TestStepStarted.from_h(some_hash) # => #<Cucumber::Messages::TestStepStarted:0x... ...>
1155
- #
1156
-
1157
- def self.from_h(hash)
1158
- return nil if hash.nil?
1159
-
1160
- self.new(
1161
- test_case_started_id: hash[:testCaseStartedId],
1162
- test_step_id: hash[:testStepId],
1163
- timestamp: Timestamp.from_h(hash[:timestamp]),
1164
- )
1165
- end
1166
- end
1167
-
1168
- class Timestamp
1169
-
1170
- ##
1171
- # Returns a new Timestamp from the given hash.
1172
- # If the hash keys are camelCased, they are properly assigned to the
1173
- # corresponding snake_cased attributes.
1174
- #
1175
- # Cucumber::Messages::Timestamp.from_h(some_hash) # => #<Cucumber::Messages::Timestamp:0x... ...>
1176
- #
1177
-
1178
- def self.from_h(hash)
1179
- return nil if hash.nil?
1180
-
1181
- self.new(
1182
- seconds: hash[:seconds],
1183
- nanos: hash[:nanos],
1184
- )
1185
- end
1186
- end
1187
-
1188
- class UndefinedParameterType
1189
-
1190
- ##
1191
- # Returns a new UndefinedParameterType from the given hash.
1192
- # If the hash keys are camelCased, they are properly assigned to the
1193
- # corresponding snake_cased attributes.
1194
- #
1195
- # Cucumber::Messages::UndefinedParameterType.from_h(some_hash) # => #<Cucumber::Messages::UndefinedParameterType:0x... ...>
1196
- #
1197
-
1198
- def self.from_h(hash)
1199
- return nil if hash.nil?
1200
-
1201
- self.new(
1202
- expression: hash[:expression],
1203
- name: hash[:name],
1204
- )
1205
- end
1206
- end
1207
- end
1208
- end