aruba 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +90 -39
- data/CONTRIBUTING.md +0 -1
- data/LICENSE +19 -17
- data/README.md +5 -6
- data/exe/aruba +3 -2
- data/lib/aruba/api/bundler.rb +4 -2
- data/lib/aruba/api/commands.rb +10 -8
- data/lib/aruba/api/core.rb +34 -32
- data/lib/aruba/api/environment.rb +4 -2
- data/lib/aruba/api/filesystem.rb +17 -19
- data/lib/aruba/api/text.rb +5 -3
- data/lib/aruba/api.rb +13 -11
- data/lib/aruba/{platforms/aruba_logger.rb → aruba_logger.rb} +4 -2
- data/lib/aruba/aruba_path.rb +4 -2
- data/lib/aruba/basic_configuration/option.rb +2 -0
- data/lib/aruba/basic_configuration.rb +15 -13
- data/lib/aruba/cli.rb +10 -8
- data/lib/aruba/colorizer.rb +2 -0
- data/lib/aruba/command.rb +10 -6
- data/lib/aruba/{platforms/command_monitor.rb → command_monitor.rb} +7 -5
- data/lib/aruba/config/jruby.rb +11 -9
- data/lib/aruba/config_wrapper.rb +4 -2
- data/lib/aruba/configuration.rb +17 -15
- data/lib/aruba/console/help.rb +7 -5
- data/lib/aruba/console.rb +12 -11
- data/lib/aruba/contracts/absolute_path.rb +3 -1
- data/lib/aruba/contracts/enum.rb +3 -1
- data/lib/aruba/contracts/is_power_of_two.rb +4 -2
- data/lib/aruba/contracts/relative_path.rb +3 -1
- data/lib/aruba/cucumber/command.rb +108 -99
- data/lib/aruba/cucumber/environment.rb +9 -7
- data/lib/aruba/cucumber/file.rb +4 -2
- data/lib/aruba/cucumber/hooks.rb +31 -29
- data/lib/aruba/cucumber/parameter_types.rb +4 -1
- data/lib/aruba/cucumber/testing_frameworks.rb +20 -18
- data/lib/aruba/cucumber.rb +10 -8
- data/lib/aruba/errors.rb +2 -6
- data/lib/aruba/event_bus.rb +8 -47
- data/lib/aruba/events.rb +15 -7
- data/lib/aruba/file_size.rb +3 -1
- data/lib/aruba/generators/script_file.rb +4 -2
- data/lib/aruba/hooks.rb +2 -0
- data/lib/aruba/in_config_wrapper.rb +3 -1
- data/lib/aruba/initializer.rb +25 -42
- data/lib/aruba/matchers/base/message_indenter.rb +3 -1
- data/lib/aruba/matchers/command/be_successfully_executed.rb +6 -4
- data/lib/aruba/matchers/command/have_exit_status.rb +2 -0
- data/lib/aruba/matchers/command/have_finished_in_time.rb +2 -0
- data/lib/aruba/matchers/command/have_output.rb +3 -1
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +2 -0
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +2 -0
- data/lib/aruba/matchers/command/have_output_size.rb +21 -5
- data/lib/aruba/matchers/command.rb +3 -1
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +3 -1
- data/lib/aruba/matchers/directory/have_sub_directory.rb +4 -2
- data/lib/aruba/matchers/directory.rb +3 -1
- data/lib/aruba/matchers/environment.rb +3 -1
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +7 -5
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +3 -1
- data/lib/aruba/matchers/file/be_an_existing_file.rb +3 -1
- data/lib/aruba/matchers/file/have_file_content.rb +2 -0
- data/lib/aruba/matchers/file/have_file_size.rb +2 -0
- data/lib/aruba/matchers/file/have_same_file_content.rb +3 -1
- data/lib/aruba/matchers/file.rb +3 -1
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +2 -0
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +2 -0
- data/lib/aruba/matchers/path/be_an_existing_path.rb +2 -0
- data/lib/aruba/matchers/path/have_permissions.rb +3 -1
- data/lib/aruba/matchers/path.rb +3 -1
- data/lib/aruba/matchers/string/include_output_string.rb +3 -1
- data/lib/aruba/matchers/string/match_output_string.rb +3 -1
- data/lib/aruba/matchers/string/output_string_eq.rb +3 -1
- data/lib/aruba/matchers/string.rb +3 -1
- data/lib/aruba/platform.rb +4 -2
- data/lib/aruba/platforms/announcer.rb +16 -14
- data/lib/aruba/platforms/aruba_file_creator.rb +2 -0
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +3 -1
- data/lib/aruba/platforms/determine_disk_usage.rb +3 -1
- data/lib/aruba/platforms/determine_file_size.rb +2 -0
- data/lib/aruba/platforms/filesystem_status.rb +3 -1
- data/lib/aruba/platforms/local_environment.rb +9 -1
- data/lib/aruba/platforms/simple_table.rb +4 -2
- data/lib/aruba/platforms/unix_command_string.rb +4 -2
- data/lib/aruba/platforms/unix_environment_variables.rb +4 -2
- data/lib/aruba/platforms/unix_platform.rb +32 -26
- data/lib/aruba/platforms/unix_which.rb +3 -1
- data/lib/aruba/platforms/windows_command_string.rb +3 -18
- data/lib/aruba/platforms/windows_environment_variables.rb +3 -1
- data/lib/aruba/platforms/windows_platform.rb +12 -6
- data/lib/aruba/platforms/windows_which.rb +7 -5
- data/lib/aruba/processes/basic_process.rb +5 -3
- data/lib/aruba/processes/debug_process.rb +8 -6
- data/lib/aruba/processes/in_process.rb +11 -8
- data/lib/aruba/processes/spawn_process.rb +110 -37
- data/lib/aruba/rspec.rb +8 -6
- data/lib/aruba/runtime.rb +9 -7
- data/lib/aruba/setup.rb +8 -6
- data/lib/aruba/version.rb +3 -1
- data/lib/aruba.rb +3 -1
- metadata +24 -99
- data/lib/aruba/event_bus/name_resolver.rb +0 -158
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aruba
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy, Matt Wynne and other Aruba Contributors
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,26 +30,6 @@ dependencies:
|
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '3.0'
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: childprocess
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '2.0'
|
40
|
-
- - "<"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '5.0'
|
43
|
-
type: :runtime
|
44
|
-
prerelease: false
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '2.0'
|
50
|
-
- - "<"
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '5.0'
|
53
33
|
- !ruby/object:Gem::Dependency
|
54
34
|
name: contracts
|
55
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,20 +56,20 @@ dependencies:
|
|
76
56
|
requirements:
|
77
57
|
- - ">="
|
78
58
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
59
|
+
version: '8.0'
|
80
60
|
- - "<"
|
81
61
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
62
|
+
version: '10.0'
|
83
63
|
type: :runtime
|
84
64
|
prerelease: false
|
85
65
|
version_requirements: !ruby/object:Gem::Requirement
|
86
66
|
requirements:
|
87
67
|
- - ">="
|
88
68
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
69
|
+
version: '8.0'
|
90
70
|
- - "<"
|
91
71
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
72
|
+
version: '10.0'
|
93
73
|
- !ruby/object:Gem::Dependency
|
94
74
|
name: rspec-expectations
|
95
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,40 +154,6 @@ dependencies:
|
|
174
154
|
- - "~>"
|
175
155
|
- !ruby/object:Gem::Version
|
176
156
|
version: '5.10'
|
177
|
-
- !ruby/object:Gem::Dependency
|
178
|
-
name: pry
|
179
|
-
requirement: !ruby/object:Gem::Requirement
|
180
|
-
requirements:
|
181
|
-
- - ">="
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
version: 0.13.0
|
184
|
-
- - "<"
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: 0.15.0
|
187
|
-
type: :development
|
188
|
-
prerelease: false
|
189
|
-
version_requirements: !ruby/object:Gem::Requirement
|
190
|
-
requirements:
|
191
|
-
- - ">="
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
version: 0.13.0
|
194
|
-
- - "<"
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: 0.15.0
|
197
|
-
- !ruby/object:Gem::Dependency
|
198
|
-
name: pry-doc
|
199
|
-
requirement: !ruby/object:Gem::Requirement
|
200
|
-
requirements:
|
201
|
-
- - "~>"
|
202
|
-
- !ruby/object:Gem::Version
|
203
|
-
version: '1.0'
|
204
|
-
type: :development
|
205
|
-
prerelease: false
|
206
|
-
version_requirements: !ruby/object:Gem::Requirement
|
207
|
-
requirements:
|
208
|
-
- - "~>"
|
209
|
-
- !ruby/object:Gem::Version
|
210
|
-
version: '1.0'
|
211
157
|
- !ruby/object:Gem::Dependency
|
212
158
|
name: rake
|
213
159
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,62 +208,56 @@ dependencies:
|
|
262
208
|
requirements:
|
263
209
|
- - "~>"
|
264
210
|
- !ruby/object:Gem::Version
|
265
|
-
version: '1.
|
266
|
-
- - "!="
|
267
|
-
- !ruby/object:Gem::Version
|
268
|
-
version: 1.29.0
|
211
|
+
version: '1.62'
|
269
212
|
type: :development
|
270
213
|
prerelease: false
|
271
214
|
version_requirements: !ruby/object:Gem::Requirement
|
272
215
|
requirements:
|
273
216
|
- - "~>"
|
274
217
|
- !ruby/object:Gem::Version
|
275
|
-
version: '1.
|
276
|
-
- - "!="
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
version: 1.29.0
|
218
|
+
version: '1.62'
|
279
219
|
- !ruby/object:Gem::Dependency
|
280
220
|
name: rubocop-packaging
|
281
221
|
requirement: !ruby/object:Gem::Requirement
|
282
222
|
requirements:
|
283
223
|
- - "~>"
|
284
224
|
- !ruby/object:Gem::Version
|
285
|
-
version: 0.5.
|
225
|
+
version: 0.5.2
|
286
226
|
type: :development
|
287
227
|
prerelease: false
|
288
228
|
version_requirements: !ruby/object:Gem::Requirement
|
289
229
|
requirements:
|
290
230
|
- - "~>"
|
291
231
|
- !ruby/object:Gem::Version
|
292
|
-
version: 0.5.
|
232
|
+
version: 0.5.2
|
293
233
|
- !ruby/object:Gem::Dependency
|
294
234
|
name: rubocop-performance
|
295
235
|
requirement: !ruby/object:Gem::Requirement
|
296
236
|
requirements:
|
297
237
|
- - "~>"
|
298
238
|
- !ruby/object:Gem::Version
|
299
|
-
version: '1.
|
239
|
+
version: '1.21'
|
300
240
|
type: :development
|
301
241
|
prerelease: false
|
302
242
|
version_requirements: !ruby/object:Gem::Requirement
|
303
243
|
requirements:
|
304
244
|
- - "~>"
|
305
245
|
- !ruby/object:Gem::Version
|
306
|
-
version: '1.
|
246
|
+
version: '1.21'
|
307
247
|
- !ruby/object:Gem::Dependency
|
308
248
|
name: rubocop-rspec
|
309
249
|
requirement: !ruby/object:Gem::Requirement
|
310
250
|
requirements:
|
311
251
|
- - "~>"
|
312
252
|
- !ruby/object:Gem::Version
|
313
|
-
version: '
|
253
|
+
version: '3.0'
|
314
254
|
type: :development
|
315
255
|
prerelease: false
|
316
256
|
version_requirements: !ruby/object:Gem::Requirement
|
317
257
|
requirements:
|
318
258
|
- - "~>"
|
319
259
|
- !ruby/object:Gem::Version
|
320
|
-
version: '
|
260
|
+
version: '3.0'
|
321
261
|
- !ruby/object:Gem::Dependency
|
322
262
|
name: simplecov
|
323
263
|
requirement: !ruby/object:Gem::Requirement
|
@@ -327,7 +267,7 @@ dependencies:
|
|
327
267
|
version: 0.18.0
|
328
268
|
- - "<"
|
329
269
|
- !ruby/object:Gem::Version
|
330
|
-
version: 0.
|
270
|
+
version: 0.23.0
|
331
271
|
type: :development
|
332
272
|
prerelease: false
|
333
273
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -337,21 +277,7 @@ dependencies:
|
|
337
277
|
version: 0.18.0
|
338
278
|
- - "<"
|
339
279
|
- !ruby/object:Gem::Version
|
340
|
-
version: 0.
|
341
|
-
- !ruby/object:Gem::Dependency
|
342
|
-
name: yard-junk
|
343
|
-
requirement: !ruby/object:Gem::Requirement
|
344
|
-
requirements:
|
345
|
-
- - "~>"
|
346
|
-
- !ruby/object:Gem::Version
|
347
|
-
version: 0.0.7
|
348
|
-
type: :development
|
349
|
-
prerelease: false
|
350
|
-
version_requirements: !ruby/object:Gem::Requirement
|
351
|
-
requirements:
|
352
|
-
- - "~>"
|
353
|
-
- !ruby/object:Gem::Version
|
354
|
-
version: 0.0.7
|
280
|
+
version: 0.23.0
|
355
281
|
description: |
|
356
282
|
Extension for popular TDD and BDD frameworks like "Cucumber", "RSpec" and "Minitest",
|
357
283
|
to make testing command line applications meaningful, easy and fun.
|
@@ -378,12 +304,14 @@ files:
|
|
378
304
|
- lib/aruba/api/environment.rb
|
379
305
|
- lib/aruba/api/filesystem.rb
|
380
306
|
- lib/aruba/api/text.rb
|
307
|
+
- lib/aruba/aruba_logger.rb
|
381
308
|
- lib/aruba/aruba_path.rb
|
382
309
|
- lib/aruba/basic_configuration.rb
|
383
310
|
- lib/aruba/basic_configuration/option.rb
|
384
311
|
- lib/aruba/cli.rb
|
385
312
|
- lib/aruba/colorizer.rb
|
386
313
|
- lib/aruba/command.rb
|
314
|
+
- lib/aruba/command_monitor.rb
|
387
315
|
- lib/aruba/config/jruby.rb
|
388
316
|
- lib/aruba/config_wrapper.rb
|
389
317
|
- lib/aruba/configuration.rb
|
@@ -402,7 +330,6 @@ files:
|
|
402
330
|
- lib/aruba/cucumber/testing_frameworks.rb
|
403
331
|
- lib/aruba/errors.rb
|
404
332
|
- lib/aruba/event_bus.rb
|
405
|
-
- lib/aruba/event_bus/name_resolver.rb
|
406
333
|
- lib/aruba/events.rb
|
407
334
|
- lib/aruba/file_size.rb
|
408
335
|
- lib/aruba/generators/script_file.rb
|
@@ -442,8 +369,6 @@ files:
|
|
442
369
|
- lib/aruba/platforms/announcer.rb
|
443
370
|
- lib/aruba/platforms/aruba_file_creator.rb
|
444
371
|
- lib/aruba/platforms/aruba_fixed_size_file_creator.rb
|
445
|
-
- lib/aruba/platforms/aruba_logger.rb
|
446
|
-
- lib/aruba/platforms/command_monitor.rb
|
447
372
|
- lib/aruba/platforms/determine_disk_usage.rb
|
448
373
|
- lib/aruba/platforms/determine_file_size.rb
|
449
374
|
- lib/aruba/platforms/filesystem_status.rb
|
@@ -474,7 +399,7 @@ metadata:
|
|
474
399
|
documentation_uri: https://www.rubydoc.info/gems/aruba
|
475
400
|
homepage_uri: https://github.com/cucumber/aruba
|
476
401
|
source_code_uri: https://github.com/cucumber/aruba
|
477
|
-
post_install_message:
|
402
|
+
post_install_message:
|
478
403
|
rdoc_options:
|
479
404
|
- "--charset"
|
480
405
|
- UTF-8
|
@@ -486,15 +411,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
486
411
|
requirements:
|
487
412
|
- - ">="
|
488
413
|
- !ruby/object:Gem::Version
|
489
|
-
version:
|
414
|
+
version: 3.0.0
|
490
415
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
491
416
|
requirements:
|
492
417
|
- - ">="
|
493
418
|
- !ruby/object:Gem::Version
|
494
419
|
version: '0'
|
495
420
|
requirements: []
|
496
|
-
rubygems_version: 3.3.
|
497
|
-
signing_key:
|
421
|
+
rubygems_version: 3.3.5
|
422
|
+
signing_key:
|
498
423
|
specification_version: 4
|
499
|
-
summary: aruba-2.
|
424
|
+
summary: aruba-2.3.0
|
500
425
|
test_files: []
|
@@ -1,158 +0,0 @@
|
|
1
|
-
require "aruba/errors"
|
2
|
-
|
3
|
-
# Event notification library
|
4
|
-
module Aruba
|
5
|
-
# EventBus
|
6
|
-
class EventBus
|
7
|
-
# Resolve name to Event name
|
8
|
-
class NameResolver
|
9
|
-
# @private
|
10
|
-
# Helpers for Resolvers
|
11
|
-
module ResolveHelpers
|
12
|
-
def camel_case(underscored_name)
|
13
|
-
underscored_name.to_s.split("_").map { |word| word.upcase[0] + word[1..-1] }.join
|
14
|
-
end
|
15
|
-
|
16
|
-
# Thanks ActiveSupport
|
17
|
-
# (Only needed to support Ruby 1.9.3 and JRuby)
|
18
|
-
def constantize(camel_cased_word)
|
19
|
-
names = camel_cased_word.split("::")
|
20
|
-
|
21
|
-
# Trigger a built-in NameError exception including the ill-formed
|
22
|
-
# constant in the message.
|
23
|
-
Object.const_get(camel_cased_word) if names.empty?
|
24
|
-
|
25
|
-
# Remove the first blank element in case of '::ClassName' notation.
|
26
|
-
names.shift if names.size > 1 && names.first.empty?
|
27
|
-
|
28
|
-
names.inject(Object) do |constant, name|
|
29
|
-
if constant == Object
|
30
|
-
constant.const_get(name)
|
31
|
-
else
|
32
|
-
candidate = constant.const_get(name)
|
33
|
-
|
34
|
-
next candidate if constant.const_defined?(name, false)
|
35
|
-
|
36
|
-
next candidate unless Object.const_defined?(name)
|
37
|
-
|
38
|
-
# Go down the ancestors to check if it is owned directly. The check
|
39
|
-
# stops when we reach Object or the end of ancestors tree.
|
40
|
-
constant = constant.ancestors.inject do |const, ancestor|
|
41
|
-
break const if ancestor == Object
|
42
|
-
break ancestor if ancestor.const_defined?(name, false)
|
43
|
-
|
44
|
-
const
|
45
|
-
end
|
46
|
-
|
47
|
-
# owner is in Object, so raise
|
48
|
-
constant.const_get(name, false)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
# @private
|
55
|
-
# Convert a class in to an event class
|
56
|
-
class ClassResolver
|
57
|
-
class << self
|
58
|
-
def match?(event_id)
|
59
|
-
event_id.is_a? Class
|
60
|
-
end
|
61
|
-
|
62
|
-
# Which types are supported
|
63
|
-
def supports
|
64
|
-
[Class]
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
def transform(_, event_id)
|
69
|
-
event_id
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
# @private
|
74
|
-
# Convert a string in to an event class
|
75
|
-
class StringResolver
|
76
|
-
include ResolveHelpers
|
77
|
-
|
78
|
-
class << self
|
79
|
-
def match?(event_id)
|
80
|
-
event_id.is_a? String
|
81
|
-
end
|
82
|
-
|
83
|
-
# Which types are supported
|
84
|
-
def supports
|
85
|
-
[String]
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
def transform(_, event_id)
|
90
|
-
constantize(event_id)
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
# @private
|
95
|
-
# Convert a symbol in to an event class
|
96
|
-
class SymbolResolver
|
97
|
-
include ResolveHelpers
|
98
|
-
|
99
|
-
class << self
|
100
|
-
def match?(event_id)
|
101
|
-
event_id.is_a? Symbol
|
102
|
-
end
|
103
|
-
|
104
|
-
# Which types are supported
|
105
|
-
def supports
|
106
|
-
[Symbol]
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
def transform(default_namespace, event_id)
|
111
|
-
constantize("#{default_namespace}::#{camel_case(event_id)}")
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
# @private
|
116
|
-
# Default failing resolver
|
117
|
-
#
|
118
|
-
# This comes into play if the user passes an invalid event type
|
119
|
-
class FailingResolver
|
120
|
-
class << self
|
121
|
-
def match?(event_id)
|
122
|
-
raise ArgumentError,
|
123
|
-
%(Input type "#{event_id.class}" of event_id "#{event_id}" is invalid)
|
124
|
-
end
|
125
|
-
|
126
|
-
def supports
|
127
|
-
[]
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
protected
|
133
|
-
|
134
|
-
attr_reader :resolvers, :default_namespace
|
135
|
-
|
136
|
-
public
|
137
|
-
|
138
|
-
def initialize(default_namespace)
|
139
|
-
@default_namespace = default_namespace
|
140
|
-
|
141
|
-
@resolvers = []
|
142
|
-
@resolvers << ClassResolver
|
143
|
-
@resolvers << StringResolver
|
144
|
-
@resolvers << SymbolResolver
|
145
|
-
@resolvers << FailingResolver
|
146
|
-
end
|
147
|
-
|
148
|
-
def transform(event_id)
|
149
|
-
resolvers.find { |r| r.match? event_id }.new.transform(default_namespace, event_id)
|
150
|
-
rescue StandardError => e
|
151
|
-
types = @resolvers.map(&:supports).flatten.join(", ")
|
152
|
-
message = "Transforming \"#{event_id}\" into an event class failed." \
|
153
|
-
" Supported types are: #{types}. #{e.message}."
|
154
|
-
raise EventNameResolveError, message, cause: e
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
158
|
-
end
|