super_diff 0.6.2 → 0.7.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/lib/super_diff/object_inspection/inspectors/time_like.rb +43 -3
- data/lib/super_diff/operation_tree_builders/defaults.rb +1 -1
- data/lib/super_diff/operation_tree_builders/hash.rb +1 -1
- data/lib/super_diff/operation_tree_builders/time_like.rb +2 -2
- data/lib/super_diff/rspec.rb +22 -0
- data/lib/super_diff/rspec/differs/collection_including.rb +4 -2
- data/lib/super_diff/rspec/differs/hash_including.rb +4 -2
- data/lib/super_diff/rspec/object_inspection/inspectors/collection_including.rb +8 -3
- data/lib/super_diff/rspec/object_inspection/inspectors/hash_including.rb +8 -3
- data/lib/super_diff/rspec/object_inspection/inspectors/instance_of.rb +8 -3
- data/lib/super_diff/rspec/object_inspection/inspectors/kind_of.rb +8 -3
- data/lib/super_diff/rspec/operation_tree_builders/collection_including.rb +10 -3
- data/lib/super_diff/rspec/operation_tree_builders/hash_including.rb +10 -3
- data/lib/super_diff/version.rb +1 -1
- data/spec/examples.txt +410 -406
- data/spec/integration/rspec/eq_matcher_spec.rb +39 -27
- data/spec/integration/rspec/have_attributes_matcher_spec.rb +11 -1
- data/spec/integration/rspec/match_matcher_spec.rb +83 -0
- data/spec/spec_helper.rb +3 -1
- data/spec/unit/equality_matchers/main_spec.rb +4 -4
- data/spec/unit/super_diff_spec.rb +93 -5
- metadata +7 -8
- data/spec/combustion/Gemfile.lock +0 -173
@@ -188,10 +188,12 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
188
188
|
expectation: proc {
|
189
189
|
line do
|
190
190
|
plain %|Expected |
|
191
|
-
actual
|
192
|
-
|
193
|
-
|
194
|
-
|
191
|
+
actual %|#<Time 2011-12-13 14:15:16 +00:00 (UTC)>|
|
192
|
+
end
|
193
|
+
|
194
|
+
line do
|
195
|
+
plain %| to eq |
|
196
|
+
expected %|#<Time 2011-12-13 14:15:16+(1/2) +00:00 (UTC)>|
|
195
197
|
end
|
196
198
|
},
|
197
199
|
diff: proc {
|
@@ -202,10 +204,10 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
202
204
|
plain_line " hour: 14,"
|
203
205
|
plain_line " min: 15,"
|
204
206
|
plain_line " sec: 16,"
|
205
|
-
expected_line "-
|
206
|
-
actual_line "+
|
207
|
+
expected_line "- subsec: (1/2),"
|
208
|
+
actual_line "+ subsec: 0,"
|
207
209
|
plain_line " zone: \"UTC\","
|
208
|
-
plain_line "
|
210
|
+
plain_line " utc_offset: 0"
|
209
211
|
plain_line " }>"
|
210
212
|
},
|
211
213
|
)
|
@@ -234,12 +236,12 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
234
236
|
expectation: proc {
|
235
237
|
line do
|
236
238
|
plain %| Expected |
|
237
|
-
actual
|
239
|
+
actual %|#<Time 2011-12-13 14:15:16 +00:00 (UTC)>|
|
238
240
|
end
|
239
241
|
|
240
242
|
line do
|
241
243
|
plain %|not to eq |
|
242
|
-
expected
|
244
|
+
expected %|#<Time 2011-12-13 14:15:16 +00:00 (UTC)>|
|
243
245
|
end
|
244
246
|
},
|
245
247
|
)
|
@@ -270,31 +272,41 @@ RSpec.describe "Integration with RSpec's #eq matcher", type: :integration do
|
|
270
272
|
expectation: proc {
|
271
273
|
line do
|
272
274
|
plain %|Expected |
|
273
|
-
actual
|
275
|
+
actual %|#<Time 2011-12-13 14:15:16 +00:00 (UTC)>|
|
274
276
|
end
|
275
277
|
|
276
278
|
line do
|
277
279
|
plain %| to eq |
|
278
|
-
expected
|
280
|
+
expected %|#<ActiveSupport::TimeWithZone 2011-12-13 16:15:16 +01:00 (CET)>|
|
279
281
|
end
|
280
282
|
},
|
281
283
|
diff: proc {
|
282
|
-
plain_line
|
283
|
-
plain_line
|
284
|
-
plain_line
|
285
|
-
plain_line
|
286
|
-
expected_line
|
287
|
-
actual_line
|
288
|
-
plain_line
|
289
|
-
plain_line
|
290
|
-
plain_line
|
291
|
-
expected_line
|
292
|
-
actual_line
|
293
|
-
expected_line
|
294
|
-
actual_line
|
295
|
-
|
296
|
-
|
297
|
-
plain_line
|
284
|
+
plain_line %| #<ActiveSupport::TimeWithZone {|
|
285
|
+
plain_line %| year: 2011,|
|
286
|
+
plain_line %| month: 12,|
|
287
|
+
plain_line %| day: 13,|
|
288
|
+
expected_line %|- hour: 16,|
|
289
|
+
actual_line %|+ hour: 14,|
|
290
|
+
plain_line %| min: 15,|
|
291
|
+
plain_line %| sec: 16,|
|
292
|
+
plain_line %| subsec: 0,|
|
293
|
+
expected_line %|- zone: \"CET\",|
|
294
|
+
actual_line %|+ zone: \"UTC\",|
|
295
|
+
expected_line %|- utc_offset: 3600,|
|
296
|
+
actual_line %|+ utc_offset: 0,|
|
297
|
+
plain_line %| utc: #<Time {|
|
298
|
+
plain_line %| year: 2011,|
|
299
|
+
plain_line %| month: 12,|
|
300
|
+
plain_line %| day: 13,|
|
301
|
+
expected_line %|- hour: 15,|
|
302
|
+
actual_line %|+ hour: 14,|
|
303
|
+
plain_line %| min: 15,|
|
304
|
+
plain_line %| sec: 16,|
|
305
|
+
plain_line %| subsec: 0,|
|
306
|
+
plain_line %| zone: "UTC",|
|
307
|
+
plain_line %| utc_offset: 0|
|
308
|
+
plain_line %| }>|
|
309
|
+
plain_line %| }>|
|
298
310
|
},
|
299
311
|
)
|
300
312
|
|
@@ -411,7 +411,17 @@ RSpec.describe "Integration with RSpec's #have_attributes matcher", type: :integ
|
|
411
411
|
expected_line %|- data: #<a hash including (|
|
412
412
|
expected_line %|- active: true|
|
413
413
|
expected_line %|- )>,|
|
414
|
-
expected_line %|- created_at: #<a value within 1 of
|
414
|
+
expected_line %|- created_at: #<a value within 1 of #<Time {|
|
415
|
+
expected_line %|- year: 2020,|
|
416
|
+
expected_line %|- month: 4,|
|
417
|
+
expected_line %|- day: 9,|
|
418
|
+
expected_line %|- hour: 0,|
|
419
|
+
expected_line %|- min: 0,|
|
420
|
+
expected_line %|- sec: 0,|
|
421
|
+
expected_line %|- subsec: 0,|
|
422
|
+
expected_line %|- zone: "UTC",|
|
423
|
+
expected_line %|- utc_offset: 0|
|
424
|
+
expected_line %|- }>>|
|
415
425
|
plain_line %| }|
|
416
426
|
},
|
417
427
|
)
|
@@ -341,6 +341,48 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
|
|
341
341
|
end
|
342
342
|
end
|
343
343
|
|
344
|
+
# HINT: `a_hash_including` is an alias of `include` in the rspec-expectations gem.
|
345
|
+
# `hash_including` is an argument matcher in the rspec-mocks gem.
|
346
|
+
context "when the expected value is `hash-including-<something>`, not `a-hash-including-<something>`" do
|
347
|
+
it "produces the correct failure message" do
|
348
|
+
as_both_colored_and_uncolored do |color_enabled|
|
349
|
+
snippet = <<~TEST.strip
|
350
|
+
expected = hash_including(city: "Hill Valley")
|
351
|
+
actual = { city: "Burbank" }
|
352
|
+
expect(actual).to match(expected)
|
353
|
+
TEST
|
354
|
+
program = make_plain_test_program(
|
355
|
+
snippet,
|
356
|
+
color_enabled: color_enabled,
|
357
|
+
)
|
358
|
+
|
359
|
+
expected_output = build_expected_output(
|
360
|
+
color_enabled: color_enabled,
|
361
|
+
snippet: %|expect(actual).to match(expected)|,
|
362
|
+
expectation: proc {
|
363
|
+
line do
|
364
|
+
plain %|Expected |
|
365
|
+
actual %|{ city: "Burbank" }|
|
366
|
+
plain %| to match |
|
367
|
+
expected %|#<a hash including (city: "Hill Valley")>|
|
368
|
+
plain %|.|
|
369
|
+
end
|
370
|
+
},
|
371
|
+
diff: proc {
|
372
|
+
plain_line %| {|
|
373
|
+
expected_line %|- city: "Hill Valley"|
|
374
|
+
actual_line %|+ city: "Burbank"|
|
375
|
+
plain_line %| }|
|
376
|
+
},
|
377
|
+
)
|
378
|
+
|
379
|
+
expect(program).
|
380
|
+
to produce_output_when_run(expected_output).
|
381
|
+
in_color(color_enabled)
|
382
|
+
end
|
383
|
+
end
|
384
|
+
end
|
385
|
+
|
344
386
|
context "when the expected value is a collection-including-<something>" do
|
345
387
|
context "that is small" do
|
346
388
|
it "produces the correct failure message when used in the positive" do
|
@@ -647,6 +689,47 @@ RSpec.describe "Integration with RSpec's #match matcher", type: :integration do
|
|
647
689
|
end
|
648
690
|
end
|
649
691
|
|
692
|
+
context "when the expected value is an array-including-<something>" do
|
693
|
+
it "produces the correct failure message" do
|
694
|
+
as_both_colored_and_uncolored do |color_enabled|
|
695
|
+
snippet = <<~TEST.strip
|
696
|
+
expected = array_including("a")
|
697
|
+
actual = ["b"]
|
698
|
+
expect(actual).to match(expected)
|
699
|
+
TEST
|
700
|
+
program = make_plain_test_program(
|
701
|
+
snippet,
|
702
|
+
color_enabled: color_enabled,
|
703
|
+
)
|
704
|
+
|
705
|
+
expected_output = build_expected_output(
|
706
|
+
color_enabled: color_enabled,
|
707
|
+
snippet: %|expect(actual).to match(expected)|,
|
708
|
+
expectation: proc {
|
709
|
+
line do
|
710
|
+
plain %|Expected |
|
711
|
+
actual %|["b"]|
|
712
|
+
plain %| to match |
|
713
|
+
expected %|#<a collection including ("a")>|
|
714
|
+
plain %|.|
|
715
|
+
end
|
716
|
+
},
|
717
|
+
diff: proc {
|
718
|
+
plain_line %| [|
|
719
|
+
plain_line %| "b"|
|
720
|
+
# expected_line %|- "a",| # FIXME
|
721
|
+
expected_line %|- "a"|
|
722
|
+
plain_line %| ]|
|
723
|
+
},
|
724
|
+
)
|
725
|
+
|
726
|
+
expect(program).
|
727
|
+
to produce_output_when_run(expected_output).
|
728
|
+
in_color(color_enabled)
|
729
|
+
end
|
730
|
+
end
|
731
|
+
end
|
732
|
+
|
650
733
|
context "when the expected value is an object-having-attributes" do
|
651
734
|
context "that is small" do
|
652
735
|
it "produces the correct failure message when used in the positive" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1166,8 +1166,8 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do
|
|
1166
1166
|
is_translation_enabled: false,
|
1167
1167
|
profile_background_color: "FFF1E0",
|
1168
1168
|
profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png",
|
1169
|
-
profile_background_tile: false,
|
1170
1169
|
profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592",
|
1170
|
+
profile_background_tile: false,
|
1171
1171
|
}
|
1172
1172
|
)
|
1173
1173
|
|
@@ -1177,7 +1177,7 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do
|
|
1177
1177
|
#{
|
1178
1178
|
colored do
|
1179
1179
|
expected_line %(Expected: { created_at: "Tue Jan 13 19:28:24 +0000 2009", favourites_count: 38, geo_enabled: false, verified: true, media_count: 51044, statuses_count: 273860, contributors_enabled: false, profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png", profile_background_color: "FFF1E0", profile_background_tile: false, profile_image_url: "http://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg", listed_count: 37009, profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592" })
|
1180
|
-
actual_line %( Actual: { listed_count: 37009, created_at: "Tue Jan 13 19:28:24 +0000 2009", favourites_count: 38, utc_offset: nil, statuses_count: 273860, media_count: 51044, contributors_enabled: false, is_translator: false, is_translation_enabled: false, profile_background_color: "FFF1E0", profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png",
|
1180
|
+
actual_line %( Actual: { listed_count: 37009, created_at: "Tue Jan 13 19:28:24 +0000 2009", favourites_count: 38, utc_offset: nil, statuses_count: 273860, media_count: 51044, contributors_enabled: false, is_translator: false, is_translation_enabled: false, profile_background_color: "FFF1E0", profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png", profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592", profile_background_tile: false })
|
1181
1181
|
end
|
1182
1182
|
}
|
1183
1183
|
|
@@ -1199,9 +1199,9 @@ RSpec.describe SuperDiff::EqualityMatchers::Main do
|
|
1199
1199
|
actual_line %(+ is_translation_enabled: false,)
|
1200
1200
|
plain_line %( profile_background_color: "FFF1E0",)
|
1201
1201
|
plain_line %( profile_background_image_url_https: "https://abs.twimg.com/images/themes/theme1/bg.png",)
|
1202
|
-
plain_line %( profile_background_tile: false,)
|
1203
1202
|
expected_line %(- profile_image_url: "http://pbs.twimg.com/profile_images/931156393108885504/EqEMtLhM_normal.jpg",)
|
1204
|
-
plain_line %( profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592")
|
1203
|
+
plain_line %( profile_banner_url: "https://pbs.twimg.com/profile_banners/18949452/1581526592",)
|
1204
|
+
plain_line %( profile_background_tile: false)
|
1205
1205
|
plain_line %( })
|
1206
1206
|
end
|
1207
1207
|
}
|
@@ -430,6 +430,84 @@ RSpec.describe SuperDiff do
|
|
430
430
|
end
|
431
431
|
end
|
432
432
|
|
433
|
+
context "given a Time object" do
|
434
|
+
context "that does not have an associated time zone" do
|
435
|
+
context "given as_single_line: true" do
|
436
|
+
it "returns a representation of the time on a single line" do
|
437
|
+
inspection = described_class.inspect_object(
|
438
|
+
Time.new(2021, 5, 5, 10, 23, 28.1234567891, "-05:00"),
|
439
|
+
as_single_line: true,
|
440
|
+
)
|
441
|
+
expect(inspection).to eq(
|
442
|
+
"#<Time 2021-05-05 10:23:28+(34749996836695/281474976710656) -05:00>"
|
443
|
+
)
|
444
|
+
end
|
445
|
+
end
|
446
|
+
|
447
|
+
context "given as_single_line: false" do
|
448
|
+
it "returns a representation of the time across multiple lines" do
|
449
|
+
inspection = described_class.inspect_object(
|
450
|
+
Time.new(2021, 5, 5, 10, 23, 28.1234567891, "-05:00"),
|
451
|
+
as_single_line: false,
|
452
|
+
)
|
453
|
+
expect(inspection).to eq(<<~INSPECTION.rstrip)
|
454
|
+
#<Time {
|
455
|
+
year: 2021,
|
456
|
+
month: 5,
|
457
|
+
day: 5,
|
458
|
+
hour: 10,
|
459
|
+
min: 23,
|
460
|
+
sec: 28,
|
461
|
+
subsec: (34749996836695/281474976710656),
|
462
|
+
zone: nil,
|
463
|
+
utc_offset: -18000
|
464
|
+
}>
|
465
|
+
INSPECTION
|
466
|
+
end
|
467
|
+
end
|
468
|
+
end
|
469
|
+
|
470
|
+
context "that has an associated time zone" do
|
471
|
+
around do |example|
|
472
|
+
ClimateControl.modify(TZ: 'America/Chicago', &example)
|
473
|
+
end
|
474
|
+
|
475
|
+
context "given as_single_line: true" do
|
476
|
+
it "returns a representation of the time on a single line" do
|
477
|
+
inspection = described_class.inspect_object(
|
478
|
+
Time.new(2021, 5, 5, 10, 23, 28.1234567891),
|
479
|
+
as_single_line: true,
|
480
|
+
)
|
481
|
+
expect(inspection).to eq(
|
482
|
+
"#<Time 2021-05-05 10:23:28+(34749996836695/281474976710656) -05:00 (CDT)>"
|
483
|
+
)
|
484
|
+
end
|
485
|
+
end
|
486
|
+
|
487
|
+
context "given as_single_line: false" do
|
488
|
+
it "returns a representation of the time across multiple lines" do
|
489
|
+
inspection = described_class.inspect_object(
|
490
|
+
Time.new(2021, 5, 5, 10, 23, 28.1234567891),
|
491
|
+
as_single_line: false,
|
492
|
+
)
|
493
|
+
expect(inspection).to eq(<<~INSPECTION.rstrip)
|
494
|
+
#<Time {
|
495
|
+
year: 2021,
|
496
|
+
month: 5,
|
497
|
+
day: 5,
|
498
|
+
hour: 10,
|
499
|
+
min: 23,
|
500
|
+
sec: 28,
|
501
|
+
subsec: (34749996836695/281474976710656),
|
502
|
+
zone: "CDT",
|
503
|
+
utc_offset: -18000
|
504
|
+
}>
|
505
|
+
INSPECTION
|
506
|
+
end
|
507
|
+
end
|
508
|
+
end
|
509
|
+
end
|
510
|
+
|
433
511
|
context "given a class" do
|
434
512
|
context "given as_single_line: true" do
|
435
513
|
it "returns a representation of the object on a single line" do
|
@@ -842,21 +920,31 @@ RSpec.describe SuperDiff do
|
|
842
920
|
)
|
843
921
|
|
844
922
|
expect(inspection).to eq(
|
845
|
-
%(#<a value within 1 of 2020-04-09 00:00:00
|
923
|
+
%(#<a value within 1 of #<Time 2020-04-09 00:00:00 +00:00 (UTC)>>),
|
846
924
|
)
|
847
925
|
end
|
848
926
|
end
|
849
927
|
|
850
928
|
context "given as_single_line: false" do
|
851
|
-
it "returns a representation of the object
|
929
|
+
it "returns a representation of the object across multiple lines" do
|
852
930
|
inspection = described_class.inspect_object(
|
853
931
|
a_value_within(1).of(Time.utc(2020, 4, 9)),
|
854
932
|
as_single_line: false,
|
855
933
|
)
|
856
934
|
|
857
|
-
expect(inspection).to eq(
|
858
|
-
|
859
|
-
|
935
|
+
expect(inspection).to eq(<<~INSPECTION.rstrip)
|
936
|
+
#<a value within 1 of #<Time {
|
937
|
+
year: 2020,
|
938
|
+
month: 4,
|
939
|
+
day: 9,
|
940
|
+
hour: 0,
|
941
|
+
min: 0,
|
942
|
+
sec: 0,
|
943
|
+
subsec: 0,
|
944
|
+
zone: "UTC",
|
945
|
+
utc_offset: 0
|
946
|
+
}>>
|
947
|
+
INSPECTION
|
860
948
|
end
|
861
949
|
end
|
862
950
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: super_diff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elliot Winkler
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: attr_extras
|
@@ -223,7 +223,6 @@ files:
|
|
223
223
|
- lib/super_diff/rspec/operation_tree_builders/hash_including.rb
|
224
224
|
- lib/super_diff/rspec/operation_tree_builders/object_having_attributes.rb
|
225
225
|
- lib/super_diff/version.rb
|
226
|
-
- spec/combustion/Gemfile.lock
|
227
226
|
- spec/examples.txt
|
228
227
|
- spec/integration/rails/active_record_spec.rb
|
229
228
|
- spec/integration/rails/hash_with_indifferent_access_spec.rb
|
@@ -291,7 +290,7 @@ homepage: https://github.com/mcmire/super_diff
|
|
291
290
|
licenses:
|
292
291
|
- MIT
|
293
292
|
metadata: {}
|
294
|
-
post_install_message:
|
293
|
+
post_install_message:
|
295
294
|
rdoc_options: []
|
296
295
|
require_paths:
|
297
296
|
- lib
|
@@ -309,8 +308,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
309
308
|
- !ruby/object:Gem::Version
|
310
309
|
version: '0'
|
311
310
|
requirements: []
|
312
|
-
|
313
|
-
|
311
|
+
rubyforge_project:
|
312
|
+
rubygems_version: 2.7.6.3
|
313
|
+
signing_key:
|
314
314
|
specification_version: 4
|
315
315
|
summary: A better way to view differences between complex data structures in RSpec.
|
316
316
|
test_files:
|
@@ -376,4 +376,3 @@ test_files:
|
|
376
376
|
- spec/support/colorizer.rb
|
377
377
|
- spec/support/shared_examples/hash_with_indifferent_access.rb
|
378
378
|
- spec/support/shared_examples/active_record.rb
|
379
|
-
- spec/combustion/Gemfile.lock
|
@@ -1,173 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
actioncable (6.1.2.1)
|
5
|
-
actionpack (= 6.1.2.1)
|
6
|
-
activesupport (= 6.1.2.1)
|
7
|
-
nio4r (~> 2.0)
|
8
|
-
websocket-driver (>= 0.6.1)
|
9
|
-
actionmailbox (6.1.2.1)
|
10
|
-
actionpack (= 6.1.2.1)
|
11
|
-
activejob (= 6.1.2.1)
|
12
|
-
activerecord (= 6.1.2.1)
|
13
|
-
activestorage (= 6.1.2.1)
|
14
|
-
activesupport (= 6.1.2.1)
|
15
|
-
mail (>= 2.7.1)
|
16
|
-
actionmailer (6.1.2.1)
|
17
|
-
actionpack (= 6.1.2.1)
|
18
|
-
actionview (= 6.1.2.1)
|
19
|
-
activejob (= 6.1.2.1)
|
20
|
-
activesupport (= 6.1.2.1)
|
21
|
-
mail (~> 2.5, >= 2.5.4)
|
22
|
-
rails-dom-testing (~> 2.0)
|
23
|
-
actionpack (6.1.2.1)
|
24
|
-
actionview (= 6.1.2.1)
|
25
|
-
activesupport (= 6.1.2.1)
|
26
|
-
rack (~> 2.0, >= 2.0.9)
|
27
|
-
rack-test (>= 0.6.3)
|
28
|
-
rails-dom-testing (~> 2.0)
|
29
|
-
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
30
|
-
actiontext (6.1.2.1)
|
31
|
-
actionpack (= 6.1.2.1)
|
32
|
-
activerecord (= 6.1.2.1)
|
33
|
-
activestorage (= 6.1.2.1)
|
34
|
-
activesupport (= 6.1.2.1)
|
35
|
-
nokogiri (>= 1.8.5)
|
36
|
-
actionview (6.1.2.1)
|
37
|
-
activesupport (= 6.1.2.1)
|
38
|
-
builder (~> 3.1)
|
39
|
-
erubi (~> 1.4)
|
40
|
-
rails-dom-testing (~> 2.0)
|
41
|
-
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
42
|
-
activejob (6.1.2.1)
|
43
|
-
activesupport (= 6.1.2.1)
|
44
|
-
globalid (>= 0.3.6)
|
45
|
-
activemodel (6.1.2.1)
|
46
|
-
activesupport (= 6.1.2.1)
|
47
|
-
activerecord (6.1.2.1)
|
48
|
-
activemodel (= 6.1.2.1)
|
49
|
-
activesupport (= 6.1.2.1)
|
50
|
-
activestorage (6.1.2.1)
|
51
|
-
actionpack (= 6.1.2.1)
|
52
|
-
activejob (= 6.1.2.1)
|
53
|
-
activerecord (= 6.1.2.1)
|
54
|
-
activesupport (= 6.1.2.1)
|
55
|
-
marcel (~> 0.3.1)
|
56
|
-
mimemagic (~> 0.3.2)
|
57
|
-
activesupport (6.1.2.1)
|
58
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
59
|
-
i18n (>= 1.6, < 2)
|
60
|
-
minitest (>= 5.1)
|
61
|
-
tzinfo (~> 2.0)
|
62
|
-
zeitwerk (~> 2.3)
|
63
|
-
attr_extras (6.2.4)
|
64
|
-
builder (3.2.4)
|
65
|
-
combustion (1.3.1)
|
66
|
-
activesupport (>= 3.0.0)
|
67
|
-
railties (>= 3.0.0)
|
68
|
-
thor (>= 0.14.6)
|
69
|
-
concurrent-ruby (1.1.8)
|
70
|
-
crass (1.0.6)
|
71
|
-
diff-lcs (1.4.4)
|
72
|
-
erubi (1.10.0)
|
73
|
-
globalid (0.4.2)
|
74
|
-
activesupport (>= 4.2.0)
|
75
|
-
i18n (1.8.8)
|
76
|
-
concurrent-ruby (~> 1.0)
|
77
|
-
loofah (2.9.0)
|
78
|
-
crass (~> 1.0.2)
|
79
|
-
nokogiri (>= 1.5.9)
|
80
|
-
mail (2.7.1)
|
81
|
-
mini_mime (>= 0.1.1)
|
82
|
-
marcel (0.3.3)
|
83
|
-
mimemagic (~> 0.3.2)
|
84
|
-
method_source (1.0.0)
|
85
|
-
mimemagic (0.3.5)
|
86
|
-
mini_mime (1.0.2)
|
87
|
-
mini_portile2 (2.5.0)
|
88
|
-
minitest (5.14.3)
|
89
|
-
nio4r (2.5.5)
|
90
|
-
nokogiri (1.11.1)
|
91
|
-
mini_portile2 (~> 2.5.0)
|
92
|
-
racc (~> 1.4)
|
93
|
-
patience_diff (1.1.0)
|
94
|
-
trollop (~> 1.16)
|
95
|
-
racc (1.5.2)
|
96
|
-
rack (2.2.3)
|
97
|
-
rack-test (1.1.0)
|
98
|
-
rack (>= 1.0, < 3)
|
99
|
-
rails (6.1.2.1)
|
100
|
-
actioncable (= 6.1.2.1)
|
101
|
-
actionmailbox (= 6.1.2.1)
|
102
|
-
actionmailer (= 6.1.2.1)
|
103
|
-
actionpack (= 6.1.2.1)
|
104
|
-
actiontext (= 6.1.2.1)
|
105
|
-
actionview (= 6.1.2.1)
|
106
|
-
activejob (= 6.1.2.1)
|
107
|
-
activemodel (= 6.1.2.1)
|
108
|
-
activerecord (= 6.1.2.1)
|
109
|
-
activestorage (= 6.1.2.1)
|
110
|
-
activesupport (= 6.1.2.1)
|
111
|
-
bundler (>= 1.15.0)
|
112
|
-
railties (= 6.1.2.1)
|
113
|
-
sprockets-rails (>= 2.0.0)
|
114
|
-
rails-dom-testing (2.0.3)
|
115
|
-
activesupport (>= 4.2.0)
|
116
|
-
nokogiri (>= 1.6)
|
117
|
-
rails-html-sanitizer (1.3.0)
|
118
|
-
loofah (~> 2.3)
|
119
|
-
railties (6.1.2.1)
|
120
|
-
actionpack (= 6.1.2.1)
|
121
|
-
activesupport (= 6.1.2.1)
|
122
|
-
method_source
|
123
|
-
rake (>= 0.8.7)
|
124
|
-
thor (~> 1.0)
|
125
|
-
rake (13.0.3)
|
126
|
-
rspec-core (3.10.1)
|
127
|
-
rspec-support (~> 3.10.0)
|
128
|
-
rspec-expectations (3.10.1)
|
129
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
130
|
-
rspec-support (~> 3.10.0)
|
131
|
-
rspec-mocks (3.10.2)
|
132
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
133
|
-
rspec-support (~> 3.10.0)
|
134
|
-
rspec-rails (4.0.2)
|
135
|
-
actionpack (>= 4.2)
|
136
|
-
activesupport (>= 4.2)
|
137
|
-
railties (>= 4.2)
|
138
|
-
rspec-core (~> 3.10)
|
139
|
-
rspec-expectations (~> 3.10)
|
140
|
-
rspec-mocks (~> 3.10)
|
141
|
-
rspec-support (~> 3.10)
|
142
|
-
rspec-support (3.10.2)
|
143
|
-
sprockets (4.0.2)
|
144
|
-
concurrent-ruby (~> 1.0)
|
145
|
-
rack (> 1, < 3)
|
146
|
-
sprockets-rails (3.2.2)
|
147
|
-
actionpack (>= 4.0)
|
148
|
-
activesupport (>= 4.0)
|
149
|
-
sprockets (>= 3.0.0)
|
150
|
-
super_diff (0.5.3)
|
151
|
-
attr_extras (>= 6.2.4)
|
152
|
-
diff-lcs
|
153
|
-
patience_diff
|
154
|
-
thor (1.1.0)
|
155
|
-
trollop (1.16.2)
|
156
|
-
tzinfo (2.0.4)
|
157
|
-
concurrent-ruby (~> 1.0)
|
158
|
-
websocket-driver (0.7.3)
|
159
|
-
websocket-extensions (>= 0.1.0)
|
160
|
-
websocket-extensions (0.1.5)
|
161
|
-
zeitwerk (2.4.2)
|
162
|
-
|
163
|
-
PLATFORMS
|
164
|
-
ruby
|
165
|
-
|
166
|
-
DEPENDENCIES
|
167
|
-
combustion
|
168
|
-
rails
|
169
|
-
rspec-rails
|
170
|
-
super_diff (= 0.5.3)
|
171
|
-
|
172
|
-
BUNDLED WITH
|
173
|
-
2.1.4
|