super_diff 0.6.2 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|