decidim-dev 0.28.3 → 0.29.0.rc1
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/app/packs/stylesheets/decidim/dev/_accessibility.scss +1 -1
- data/app/packs/stylesheets/decidim/dev/_bullet.scss +4 -0
- data/app/packs/stylesheets/decidim/dev/_rack_profiler.scss +4 -0
- data/app/packs/stylesheets/decidim/dev.scss +2 -0
- data/config/locales/sv.yml +1 -1
- data/config/rubocop/disabled.yml +60 -0
- data/config/rubocop/performance.yml +154 -0
- data/config/rubocop/rspec.yml +7 -2
- data/config/rubocop/ruby.yml +5 -5
- data/decidim-dev.gemspec +11 -8
- data/lib/decidim/dev/assets/assemblies.json +1 -34
- data/lib/decidim/dev/assets/assemblies_with_null.json +1 -2
- data/lib/decidim/dev/assets/participatory_processes.json +1 -34
- data/lib/decidim/dev/assets/participatory_processes_with_null.json +0 -1
- data/lib/decidim/dev/assets/participatory_text.md +0 -2
- data/lib/decidim/dev/component.rb +2 -2
- data/lib/decidim/dev/dummy_translator.rb +1 -1
- data/lib/decidim/dev/engine.rb +11 -0
- data/lib/decidim/dev/test/map_server.rb +125 -0
- data/lib/decidim/dev/test/rspec_support/autocomplete_select.rb +2 -2
- data/lib/decidim/dev/test/rspec_support/bullet.rb +4 -0
- data/lib/decidim/dev/test/rspec_support/capybara.rb +18 -8
- data/lib/decidim/dev/test/rspec_support/cell_matchers.rb +1 -1
- data/lib/decidim/dev/test/rspec_support/component_context.rb +1 -1
- data/lib/decidim/dev/test/rspec_support/data_consent.rb +6 -6
- data/lib/decidim/dev/test/rspec_support/datepicker_date_fill.rb +25 -0
- data/lib/decidim/dev/test/rspec_support/datepicker_time_fill.rb +23 -0
- data/lib/decidim/dev/test/rspec_support/dynamic_attach.rb +2 -2
- data/lib/decidim/dev/test/rspec_support/geocoder.rb +8 -72
- data/lib/decidim/dev/test/rspec_support/helpers.rb +4 -4
- data/lib/decidim/dev/test/rspec_support/tom_select.rb +1 -1
- data/lib/decidim/dev/test/rspec_support/translation_helpers.rb +5 -5
- data/lib/decidim/dev/test/rspec_support/webmock.rb +7 -1
- data/lib/decidim/dev/test/rspec_support/wicked_pdf_assets_mock.rb +2 -2
- data/lib/decidim/dev/test/spec_helper.rb +2 -8
- data/lib/decidim/dev/version.rb +1 -1
- data/lib/decidim/dev.rb +0 -9
- data/lib/decidim-dev.rb +2 -0
- data/lib/tasks/lighthouse_report.rake +1 -1
- data/rubocop-decidim.yml +6 -0
- metadata +85 -38
- data/lib/decidim/dev/test/rspec_support/activestorage_matchers.rb +0 -148
- /data/app/views/decidim/dummy_resource/{_linked_dummys.html.erb → _linked_dummies.html.erb} +0 -0
- /data/{app/controllers/concerns → lib}/decidim/dev/needs_development_tools.rb +0 -0
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-dev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-
|
13
|
+
date: 2024-07-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: capybara
|
@@ -32,14 +32,14 @@ dependencies:
|
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.29.0.rc1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.29.0.rc1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: factory_bot_rails
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,14 +74,14 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: 7.1.6
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
84
|
+
version: 7.1.6
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: byebug
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -130,20 +130,20 @@ dependencies:
|
|
130
130
|
requirements:
|
131
131
|
- - "~>"
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: '1.
|
133
|
+
version: '1.16'
|
134
134
|
- - ">="
|
135
135
|
- !ruby/object:Gem::Version
|
136
|
-
version: 1.
|
136
|
+
version: 1.16.2
|
137
137
|
type: :runtime
|
138
138
|
prerelease: false
|
139
139
|
version_requirements: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
141
|
- - "~>"
|
142
142
|
- !ruby/object:Gem::Version
|
143
|
-
version: '1.
|
143
|
+
version: '1.16'
|
144
144
|
- - ">="
|
145
145
|
- !ruby/object:Gem::Version
|
146
|
-
version: 1.
|
146
|
+
version: 1.16.2
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: parallel_tests
|
149
149
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,14 +282,42 @@ dependencies:
|
|
282
282
|
requirements:
|
283
283
|
- - "~>"
|
284
284
|
- !ruby/object:Gem::Version
|
285
|
-
version: 1.
|
285
|
+
version: 1.65.0
|
286
286
|
type: :runtime
|
287
287
|
prerelease: false
|
288
288
|
version_requirements: !ruby/object:Gem::Requirement
|
289
289
|
requirements:
|
290
290
|
- - "~>"
|
291
291
|
- !ruby/object:Gem::Version
|
292
|
-
version: 1.
|
292
|
+
version: 1.65.0
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: rubocop-capybara
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - "~>"
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '2.21'
|
300
|
+
type: :runtime
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - "~>"
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '2.21'
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: rubocop-factory_bot
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - "~>"
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: '2.26'
|
314
|
+
type: :runtime
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - "~>"
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: '2.26'
|
293
321
|
- !ruby/object:Gem::Dependency
|
294
322
|
name: rubocop-faker
|
295
323
|
requirement: !ruby/object:Gem::Requirement
|
@@ -304,104 +332,118 @@ dependencies:
|
|
304
332
|
- - "~>"
|
305
333
|
- !ruby/object:Gem::Version
|
306
334
|
version: '1.1'
|
335
|
+
- !ruby/object:Gem::Dependency
|
336
|
+
name: rubocop-performance
|
337
|
+
requirement: !ruby/object:Gem::Requirement
|
338
|
+
requirements:
|
339
|
+
- - "~>"
|
340
|
+
- !ruby/object:Gem::Version
|
341
|
+
version: '1.21'
|
342
|
+
type: :runtime
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - "~>"
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: '1.21'
|
307
349
|
- !ruby/object:Gem::Dependency
|
308
350
|
name: rubocop-rails
|
309
351
|
requirement: !ruby/object:Gem::Requirement
|
310
352
|
requirements:
|
311
353
|
- - "~>"
|
312
354
|
- !ruby/object:Gem::Version
|
313
|
-
version: '2.
|
355
|
+
version: '2.25'
|
314
356
|
type: :runtime
|
315
357
|
prerelease: false
|
316
358
|
version_requirements: !ruby/object:Gem::Requirement
|
317
359
|
requirements:
|
318
360
|
- - "~>"
|
319
361
|
- !ruby/object:Gem::Version
|
320
|
-
version: '2.
|
362
|
+
version: '2.25'
|
321
363
|
- !ruby/object:Gem::Dependency
|
322
364
|
name: rubocop-rspec
|
323
365
|
requirement: !ruby/object:Gem::Requirement
|
324
366
|
requirements:
|
325
367
|
- - "~>"
|
326
368
|
- !ruby/object:Gem::Version
|
327
|
-
version: '
|
369
|
+
version: '3.0'
|
328
370
|
type: :runtime
|
329
371
|
prerelease: false
|
330
372
|
version_requirements: !ruby/object:Gem::Requirement
|
331
373
|
requirements:
|
332
374
|
- - "~>"
|
333
375
|
- !ruby/object:Gem::Version
|
334
|
-
version: '
|
376
|
+
version: '3.0'
|
335
377
|
- !ruby/object:Gem::Dependency
|
336
|
-
name:
|
378
|
+
name: rubocop-rspec_rails
|
337
379
|
requirement: !ruby/object:Gem::Requirement
|
338
380
|
requirements:
|
339
381
|
- - "~>"
|
340
382
|
- !ruby/object:Gem::Version
|
341
|
-
version: '
|
383
|
+
version: '2.30'
|
342
384
|
type: :runtime
|
343
385
|
prerelease: false
|
344
386
|
version_requirements: !ruby/object:Gem::Requirement
|
345
387
|
requirements:
|
346
388
|
- - "~>"
|
347
389
|
- !ruby/object:Gem::Version
|
348
|
-
version: '
|
390
|
+
version: '2.30'
|
349
391
|
- !ruby/object:Gem::Dependency
|
350
|
-
name:
|
392
|
+
name: rubocop-rubycw
|
351
393
|
requirement: !ruby/object:Gem::Requirement
|
352
394
|
requirements:
|
353
395
|
- - "~>"
|
354
396
|
- !ruby/object:Gem::Version
|
355
|
-
version: 0.
|
397
|
+
version: '0.1'
|
356
398
|
type: :runtime
|
357
399
|
prerelease: false
|
358
400
|
version_requirements: !ruby/object:Gem::Requirement
|
359
401
|
requirements:
|
360
402
|
- - "~>"
|
361
403
|
- !ruby/object:Gem::Version
|
362
|
-
version: 0.
|
404
|
+
version: '0.1'
|
363
405
|
- !ruby/object:Gem::Dependency
|
364
|
-
name:
|
406
|
+
name: selenium-webdriver
|
365
407
|
requirement: !ruby/object:Gem::Requirement
|
366
408
|
requirements:
|
367
409
|
- - "~>"
|
368
410
|
- !ruby/object:Gem::Version
|
369
|
-
version:
|
411
|
+
version: '4.9'
|
370
412
|
type: :runtime
|
371
413
|
prerelease: false
|
372
414
|
version_requirements: !ruby/object:Gem::Requirement
|
373
415
|
requirements:
|
374
416
|
- - "~>"
|
375
417
|
- !ruby/object:Gem::Version
|
376
|
-
version:
|
418
|
+
version: '4.9'
|
377
419
|
- !ruby/object:Gem::Dependency
|
378
|
-
name:
|
420
|
+
name: simplecov
|
379
421
|
requirement: !ruby/object:Gem::Requirement
|
380
422
|
requirements:
|
381
423
|
- - "~>"
|
382
424
|
- !ruby/object:Gem::Version
|
383
|
-
version:
|
425
|
+
version: 0.22.0
|
384
426
|
type: :runtime
|
385
427
|
prerelease: false
|
386
428
|
version_requirements: !ruby/object:Gem::Requirement
|
387
429
|
requirements:
|
388
430
|
- - "~>"
|
389
431
|
- !ruby/object:Gem::Version
|
390
|
-
version:
|
432
|
+
version: 0.22.0
|
391
433
|
- !ruby/object:Gem::Dependency
|
392
|
-
name:
|
434
|
+
name: simplecov-cobertura
|
393
435
|
requirement: !ruby/object:Gem::Requirement
|
394
436
|
requirements:
|
395
437
|
- - "~>"
|
396
438
|
- !ruby/object:Gem::Version
|
397
|
-
version:
|
439
|
+
version: 2.1.0
|
398
440
|
type: :runtime
|
399
441
|
prerelease: false
|
400
442
|
version_requirements: !ruby/object:Gem::Requirement
|
401
443
|
requirements:
|
402
444
|
- - "~>"
|
403
445
|
- !ruby/object:Gem::Version
|
404
|
-
version:
|
446
|
+
version: 2.1.0
|
405
447
|
- !ruby/object:Gem::Dependency
|
406
448
|
name: w3c_rspec_validators
|
407
449
|
requirement: !ruby/object:Gem::Requirement
|
@@ -456,7 +498,6 @@ files:
|
|
456
498
|
- README.md
|
457
499
|
- Rakefile
|
458
500
|
- app/commands/decidim/dev/create_dummy_resource.rb
|
459
|
-
- app/controllers/concerns/decidim/dev/needs_development_tools.rb
|
460
501
|
- app/controllers/decidim/dev/dummy_resources_controller.rb
|
461
502
|
- app/events/decidim/dev/dummy_resource_event.rb
|
462
503
|
- app/forms/decidim/dev/dummy_resource_form.rb
|
@@ -475,12 +516,14 @@ files:
|
|
475
516
|
- app/packs/src/decidim/dev/test/custom_map_factory.js
|
476
517
|
- app/packs/stylesheets/decidim/dev.scss
|
477
518
|
- app/packs/stylesheets/decidim/dev/_accessibility.scss
|
519
|
+
- app/packs/stylesheets/decidim/dev/_bullet.scss
|
478
520
|
- app/packs/stylesheets/decidim/dev/_map.scss
|
521
|
+
- app/packs/stylesheets/decidim/dev/_rack_profiler.scss
|
479
522
|
- app/presenters/decidim/dev/official_author_presenter.rb
|
480
523
|
- app/serializers/decidim/dev/dummy_serializer.rb
|
481
524
|
- app/views/decidim/dev/dummy_resources/foo.html.erb
|
482
525
|
- app/views/decidim/dev/dummy_resources/show.html.erb
|
483
|
-
- app/views/decidim/dummy_resource/
|
526
|
+
- app/views/decidim/dummy_resource/_linked_dummies.html.erb
|
484
527
|
- config/assets.rb
|
485
528
|
- config/locales/am-ET.yml
|
486
529
|
- config/locales/ar-SA.yml
|
@@ -564,6 +607,7 @@ files:
|
|
564
607
|
- config/locales/zh-TW.yml
|
565
608
|
- config/rubocop/disabled.yml
|
566
609
|
- config/rubocop/faker.yml
|
610
|
+
- config/rubocop/performance.yml
|
567
611
|
- config/rubocop/rails.yml
|
568
612
|
- config/rubocop/rspec.yml
|
569
613
|
- config/rubocop/ruby.yml
|
@@ -626,16 +670,17 @@ files:
|
|
626
670
|
- lib/decidim/dev/component.rb
|
627
671
|
- lib/decidim/dev/dummy_translator.rb
|
628
672
|
- lib/decidim/dev/engine.rb
|
673
|
+
- lib/decidim/dev/needs_development_tools.rb
|
629
674
|
- lib/decidim/dev/railtie.rb
|
630
675
|
- lib/decidim/dev/test/authorization_shared_examples.rb
|
631
676
|
- lib/decidim/dev/test/base_spec_helper.rb
|
632
677
|
- lib/decidim/dev/test/factories.rb
|
633
678
|
- lib/decidim/dev/test/form_to_param_shared_examples.rb
|
679
|
+
- lib/decidim/dev/test/map_server.rb
|
634
680
|
- lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb
|
635
681
|
- lib/decidim/dev/test/rspec_support/accessibility_examples.rb
|
636
682
|
- lib/decidim/dev/test/rspec_support/action_mailer.rb
|
637
683
|
- lib/decidim/dev/test/rspec_support/active_job.rb
|
638
|
-
- lib/decidim/dev/test/rspec_support/activestorage_matchers.rb
|
639
684
|
- lib/decidim/dev/test/rspec_support/attachment_helpers.rb
|
640
685
|
- lib/decidim/dev/test/rspec_support/authorization.rb
|
641
686
|
- lib/decidim/dev/test/rspec_support/autocomplete_select.rb
|
@@ -651,6 +696,8 @@ files:
|
|
651
696
|
- lib/decidim/dev/test/rspec_support/content_processing.rb
|
652
697
|
- lib/decidim/dev/test/rspec_support/controller_example_group.rb
|
653
698
|
- lib/decidim/dev/test/rspec_support/data_consent.rb
|
699
|
+
- lib/decidim/dev/test/rspec_support/datepicker_date_fill.rb
|
700
|
+
- lib/decidim/dev/test/rspec_support/datepicker_time_fill.rb
|
654
701
|
- lib/decidim/dev/test/rspec_support/decidim_sanitization.rb
|
655
702
|
- lib/decidim/dev/test/rspec_support/dynamic_attach.rb
|
656
703
|
- lib/decidim/dev/test/rspec_support/editor_context.rb
|
@@ -706,14 +753,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
706
753
|
requirements:
|
707
754
|
- - "~>"
|
708
755
|
- !ruby/object:Gem::Version
|
709
|
-
version: 3.
|
756
|
+
version: 3.2.0
|
710
757
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
711
758
|
requirements:
|
712
|
-
- - "
|
759
|
+
- - ">"
|
713
760
|
- !ruby/object:Gem::Version
|
714
|
-
version:
|
761
|
+
version: 1.3.1
|
715
762
|
requirements: []
|
716
|
-
rubygems_version: 3.
|
763
|
+
rubygems_version: 3.4.10
|
717
764
|
signing_key:
|
718
765
|
specification_version: 4
|
719
766
|
summary: Decidim dev tools
|
@@ -1,148 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ActiveStorageMatchers
|
4
|
-
def be_blob_url(expected)
|
5
|
-
BeBlobUrl.new(expected)
|
6
|
-
end
|
7
|
-
|
8
|
-
def include_blob_urls(*expected)
|
9
|
-
IncludeBlobUrls.new(expected)
|
10
|
-
end
|
11
|
-
|
12
|
-
class BlobMatch
|
13
|
-
BLOB_URL_MATCHERS = {
|
14
|
-
redirect: %r{/rails/active_storage/blobs/redirect/([^/]+)/([^/]+)$},
|
15
|
-
representation: %r{/rails/active_storage/representations/redirect/([^/]+)/([^/]+)/([^/]+)$},
|
16
|
-
disk: %r{/rails/active_storage/disk/([^/]+)/([^/]+)$}
|
17
|
-
}.freeze
|
18
|
-
|
19
|
-
def initialize(url)
|
20
|
-
@url = url
|
21
|
-
end
|
22
|
-
|
23
|
-
def blob
|
24
|
-
return unless key_match
|
25
|
-
|
26
|
-
@blob ||=
|
27
|
-
case url_type
|
28
|
-
when :redirect, :representation
|
29
|
-
ActiveStorage::Blob.find_signed(key_match)
|
30
|
-
when :disk
|
31
|
-
decoded = ActiveStorage.verifier.verified(key_match, purpose: :blob_key)
|
32
|
-
ActiveStorage::Blob.find_by(key: decoded[:key]) if decoded
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def variation
|
37
|
-
return unless variation_match
|
38
|
-
|
39
|
-
blob.representation(variation_match)
|
40
|
-
end
|
41
|
-
|
42
|
-
def key_match
|
43
|
-
return unless match
|
44
|
-
|
45
|
-
match[1]
|
46
|
-
end
|
47
|
-
|
48
|
-
def variation_match
|
49
|
-
return unless match
|
50
|
-
|
51
|
-
match[2] if url_type == :representation
|
52
|
-
end
|
53
|
-
|
54
|
-
def filename_match
|
55
|
-
return unless match
|
56
|
-
|
57
|
-
case url_type
|
58
|
-
when :representation
|
59
|
-
match[3]
|
60
|
-
else
|
61
|
-
match[2]
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
private
|
66
|
-
|
67
|
-
attr_reader :url, :url_type
|
68
|
-
|
69
|
-
def match
|
70
|
-
return @match if @url_type
|
71
|
-
|
72
|
-
@url_type = :none
|
73
|
-
@match = nil
|
74
|
-
BLOB_URL_MATCHERS.each do |type, matcher|
|
75
|
-
@match = url.match(matcher)
|
76
|
-
if @match
|
77
|
-
@url_type = type
|
78
|
-
break
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
@match
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
class BeBlobUrl
|
87
|
-
def initialize(expected)
|
88
|
-
@expected = expected
|
89
|
-
end
|
90
|
-
|
91
|
-
def description
|
92
|
-
"be a blob URL"
|
93
|
-
end
|
94
|
-
|
95
|
-
def matches?(actual)
|
96
|
-
@actual = actual
|
97
|
-
match = BlobMatch.new(actual)
|
98
|
-
match.blob == expected
|
99
|
-
end
|
100
|
-
|
101
|
-
def failure_message
|
102
|
-
"expected #{actual} to match blob with ID #{expected.id}"
|
103
|
-
end
|
104
|
-
|
105
|
-
def failure_message_when_negated
|
106
|
-
"expected #{actual} not to match blob with ID #{expected.id}"
|
107
|
-
end
|
108
|
-
|
109
|
-
private
|
110
|
-
|
111
|
-
attr_reader :expected, :actual
|
112
|
-
end
|
113
|
-
|
114
|
-
class IncludeBlobUrls
|
115
|
-
def initialize(expected)
|
116
|
-
@expected = expected
|
117
|
-
end
|
118
|
-
|
119
|
-
def description
|
120
|
-
"include blob URLs"
|
121
|
-
end
|
122
|
-
|
123
|
-
def matches?(actual)
|
124
|
-
@actual = actual
|
125
|
-
|
126
|
-
actual.all? do |url|
|
127
|
-
match = BlobMatch.new(url)
|
128
|
-
expected.include?(match.blob)
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
def failure_message
|
133
|
-
"expected #{actual.inspect} to match blobs with ID #{expected.map(&:id).join(", ")}"
|
134
|
-
end
|
135
|
-
|
136
|
-
def failure_message_when_negated
|
137
|
-
"expected #{actual.inspect} not to match blobs with ID #{expected.map(&:id).join(", ")}"
|
138
|
-
end
|
139
|
-
|
140
|
-
private
|
141
|
-
|
142
|
-
attr_reader :expected, :actual
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|
146
|
-
RSpec.configure do |config|
|
147
|
-
config.include ActiveStorageMatchers
|
148
|
-
end
|
File without changes
|
File without changes
|