sequel 5.24.0 → 5.29.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 +58 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +1 -1
- data/doc/cheat_sheet.rdoc +1 -0
- data/doc/postgresql.rdoc +2 -2
- data/doc/release_notes/5.25.0.txt +32 -0
- data/doc/release_notes/5.26.0.txt +35 -0
- data/doc/release_notes/5.27.0.txt +21 -0
- data/doc/release_notes/5.28.0.txt +16 -0
- data/doc/release_notes/5.29.0.txt +22 -0
- data/doc/testing.rdoc +11 -6
- data/lib/sequel/adapters/jdbc/postgresql.rb +6 -0
- data/lib/sequel/adapters/postgres.rb +5 -1
- data/lib/sequel/adapters/shared/mssql.rb +4 -2
- data/lib/sequel/adapters/shared/mysql.rb +1 -1
- data/lib/sequel/adapters/shared/postgres.rb +15 -0
- data/lib/sequel/adapters/shared/sqlite.rb +7 -2
- data/lib/sequel/adapters/tinytds.rb +1 -1
- data/lib/sequel/adapters/utils/mysql_mysql2.rb +1 -1
- data/lib/sequel/database/schema_generator.rb +1 -1
- data/lib/sequel/database/transactions.rb +3 -3
- data/lib/sequel/dataset/features.rb +6 -0
- data/lib/sequel/dataset/misc.rb +2 -2
- data/lib/sequel/dataset/query.rb +15 -2
- data/lib/sequel/dataset/sql.rb +17 -4
- data/lib/sequel/extensions/any_not_empty.rb +45 -0
- data/lib/sequel/extensions/exclude_or_null.rb +68 -0
- data/lib/sequel/extensions/pg_array_ops.rb +10 -6
- data/lib/sequel/extensions/pg_enum.rb +4 -1
- data/lib/sequel/extensions/pg_json.rb +1 -1
- data/lib/sequel/extensions/pg_json_ops.rb +124 -0
- data/lib/sequel/extensions/pg_range.rb +9 -0
- data/lib/sequel/extensions/sql_comments.rb +2 -2
- data/lib/sequel/model/base.rb +12 -5
- data/lib/sequel/plugins/association_multi_add_remove.rb +83 -0
- data/lib/sequel/plugins/caching.rb +3 -0
- data/lib/sequel/plugins/csv_serializer.rb +26 -9
- data/lib/sequel/plugins/dirty.rb +3 -9
- data/lib/sequel/plugins/empty_failure_backtraces.rb +38 -0
- data/lib/sequel/plugins/json_serializer.rb +15 -4
- data/lib/sequel/plugins/nested_attributes.rb +7 -0
- data/lib/sequel/plugins/sharding.rb +11 -5
- data/lib/sequel/plugins/throw_failures.rb +1 -1
- data/lib/sequel/plugins/typecast_on_load.rb +3 -2
- data/lib/sequel/sql.rb +4 -1
- data/lib/sequel/version.rb +1 -1
- data/spec/adapters/postgres_spec.rb +82 -17
- data/spec/adapters/sqlite_spec.rb +1 -1
- data/spec/bin_spec.rb +1 -1
- data/spec/core/database_spec.rb +1 -1
- data/spec/core/dataset_spec.rb +0 -3
- data/spec/core/expression_filters_spec.rb +26 -7
- data/spec/core/spec_helper.rb +1 -1
- data/spec/core_extensions_spec.rb +1 -1
- data/spec/extensions/any_not_empty_spec.rb +23 -0
- data/spec/extensions/association_multi_add_remove_spec.rb +1041 -0
- data/spec/extensions/caller_logging_spec.rb +1 -1
- data/spec/extensions/dirty_spec.rb +33 -0
- data/spec/extensions/empty_failure_backtraces_spec.rb +60 -0
- data/spec/extensions/exclude_or_null_spec.rb +15 -0
- data/spec/extensions/json_serializer_spec.rb +10 -0
- data/spec/extensions/named_timezones_spec.rb +5 -5
- data/spec/extensions/nested_attributes_spec.rb +48 -0
- data/spec/extensions/pg_array_ops_spec.rb +3 -3
- data/spec/extensions/pg_json_ops_spec.rb +67 -0
- data/spec/extensions/pg_range_spec.rb +35 -21
- data/spec/extensions/sharding_spec.rb +8 -0
- data/spec/extensions/spec_helper.rb +1 -1
- data/spec/guards_helper.rb +1 -1
- data/spec/integration/associations_test.rb +1 -1
- data/spec/integration/dataset_test.rb +57 -17
- data/spec/integration/plugin_test.rb +1 -1
- data/spec/integration/schema_test.rb +9 -0
- data/spec/integration/spec_helper.rb +7 -1
- data/spec/model/plugins_spec.rb +2 -2
- data/spec/model/spec_helper.rb +1 -1
- data/spec/sequel_warning.rb +1 -0
- metadata +35 -3
@@ -2131,7 +2131,7 @@ describe "Sequel::Model Simple Associations" do
|
|
2131
2131
|
a.must_equal [@album, album2]
|
2132
2132
|
a.map(&:artist).must_equal [@artist, @artist]
|
2133
2133
|
a.map(&:artist).map(&:albums).must_equal [[@album, album2], [@album, album2]]
|
2134
|
-
a.map(&:artist).map{|
|
2134
|
+
a.map(&:artist).map{|artist| artist.associations[:tags]}.must_equal [[], []]
|
2135
2135
|
end
|
2136
2136
|
|
2137
2137
|
it "should have remove method raise an error for one_to_many records if the object isn't already associated" do
|
@@ -92,6 +92,17 @@ describe "Simple Dataset operations" do
|
|
92
92
|
@ds.from_self(:alias=>:items).graph(@ds.from_self, {:id=>:id}, :table_alias=>:b).extension(:graph_each).all.must_equal [{:items=>{:id=>1, :number=>10}, :b=>{:id=>1, :number=>10}}]
|
93
93
|
end
|
94
94
|
|
95
|
+
cspecify "should have insert and update work with Sequel::DEFAULT", :sqlite do
|
96
|
+
@db.create_table!(:items) do
|
97
|
+
Integer :number, :default=>10
|
98
|
+
end
|
99
|
+
@ds.insert(:number=>Sequel::DEFAULT)
|
100
|
+
@ds.select_map(:number).must_equal [10]
|
101
|
+
@ds.insert(:number=>20)
|
102
|
+
@ds.update(:number=>Sequel::DEFAULT)
|
103
|
+
@ds.select_map(:number).must_equal [10, 10]
|
104
|
+
end
|
105
|
+
|
95
106
|
cspecify "should have insert work correctly when inserting a row with all NULL values", :hsqldb do
|
96
107
|
@db.create_table!(:items) do
|
97
108
|
String :name
|
@@ -443,6 +454,20 @@ describe Sequel::Dataset do
|
|
443
454
|
@d.extension(:sequel_4_dataset_methods).interval(:value).to_i.must_equal 6
|
444
455
|
end
|
445
456
|
|
457
|
+
it "should support or emulate filtered aggregate functions" do
|
458
|
+
@d.insert(:name => 'abc', :value => 123)
|
459
|
+
@d.insert(:name => 'abc', :value => 456)
|
460
|
+
@d.insert(:name => 'def', :value => 324)
|
461
|
+
@d.get{count.function.*.filter{value > 100}}.must_equal 3
|
462
|
+
@d.get{count.function.*.filter{value > 200}}.must_equal 2
|
463
|
+
@d.get{count.function.*.filter{value > 400}}.must_equal 1
|
464
|
+
@d.get{count.function.*.filter{value > 500}}.must_equal 0
|
465
|
+
@d.get{count(:value).filter{value > 100}}.must_equal 3
|
466
|
+
@d.get{count(:value).filter{value > 200}}.must_equal 2
|
467
|
+
@d.get{count(:value).filter{value > 400}}.must_equal 1
|
468
|
+
@d.get{count(:value).filter{value > 500}}.must_equal 0
|
469
|
+
end
|
470
|
+
|
446
471
|
it "should return the correct records" do
|
447
472
|
@d.to_a.must_equal []
|
448
473
|
@d.insert(:name => 'abc', :value => 123)
|
@@ -568,22 +593,21 @@ describe Sequel::Dataset do
|
|
568
593
|
end
|
569
594
|
|
570
595
|
describe "Simple Dataset operations" do
|
571
|
-
before do
|
596
|
+
before(:all) do
|
572
597
|
DB.create_table!(:items) do
|
573
598
|
Integer :number
|
574
599
|
TrueClass :flag
|
575
600
|
end
|
576
|
-
@ds = DB[:items]
|
601
|
+
@ds = DB[:items].order(:number)
|
602
|
+
@ds.insert(:number=>1, :flag=>true)
|
603
|
+
@ds.insert(:number=>2, :flag=>false)
|
604
|
+
@ds.insert(:number=>3, :flag=>nil)
|
577
605
|
end
|
578
|
-
after do
|
606
|
+
after(:all) do
|
579
607
|
DB.drop_table?(:items)
|
580
608
|
end
|
581
609
|
|
582
610
|
it "should deal with boolean conditions correctly" do
|
583
|
-
@ds.insert(:number=>1, :flag=>true)
|
584
|
-
@ds.insert(:number=>2, :flag=>false)
|
585
|
-
@ds.insert(:number=>3, :flag=>nil)
|
586
|
-
@ds = @ds.order(:number)
|
587
611
|
@ds.filter(:flag=>true).map(:number).must_equal [1]
|
588
612
|
@ds.filter(:flag=>false).map(:number).must_equal [2]
|
589
613
|
@ds.filter(:flag=>nil).map(:number).must_equal [3]
|
@@ -591,6 +615,22 @@ describe "Simple Dataset operations" do
|
|
591
615
|
@ds.exclude(:flag=>false).map(:number).must_equal [1, 3]
|
592
616
|
@ds.exclude(:flag=>nil).map(:number).must_equal [1, 2]
|
593
617
|
end
|
618
|
+
|
619
|
+
cspecify "should deal with boolean equality conditions correctly", :derby do
|
620
|
+
@ds.filter(true=>:flag).map(:number).must_equal [1]
|
621
|
+
@ds.filter(false=>:flag).map(:number).must_equal [2]
|
622
|
+
@ds.filter(nil=>:flag).map(:number).must_equal []
|
623
|
+
@ds.exclude(true=>:flag).map(:number).must_equal [2]
|
624
|
+
@ds.exclude(false=>:flag).map(:number).must_equal [1]
|
625
|
+
@ds.exclude(nil=>:flag).map(:number).must_equal []
|
626
|
+
end
|
627
|
+
|
628
|
+
cspecify "should have exclude_or_null work correctly", :mssql, :derby, :oracle, :db2, :sqlanywhere do
|
629
|
+
@ds = @ds.extension(:exclude_or_null)
|
630
|
+
@ds.exclude_or_null(true=>:flag).map(:number).must_equal [2, 3]
|
631
|
+
@ds.exclude_or_null(false=>:flag).map(:number).must_equal [1, 3]
|
632
|
+
@ds.exclude_or_null(nil=>:flag).map(:number).must_equal [1, 2, 3]
|
633
|
+
end
|
594
634
|
end
|
595
635
|
|
596
636
|
describe "Simple Dataset operations in transactions" do
|
@@ -1553,20 +1593,20 @@ describe "Sequel::Dataset DSL support" do
|
|
1553
1593
|
|
1554
1594
|
it "should work with endless ranges as hash values" do
|
1555
1595
|
@ds.insert(20, 10)
|
1556
|
-
@ds.filter(:a=>eval('30..')).all.must_equal []
|
1557
|
-
@ds.filter(:a=>eval('20...')).all.must_equal [{:a=>20, :b=>10}]
|
1558
|
-
@ds.filter(:a=>eval('20..')).all.must_equal [{:a=>20, :b=>10}]
|
1559
|
-
@ds.filter(:a=>eval('10..')).all.must_equal [{:a=>20, :b=>10}]
|
1596
|
+
@ds.filter(:a=>eval('(30..)')).all.must_equal []
|
1597
|
+
@ds.filter(:a=>eval('(20...)')).all.must_equal [{:a=>20, :b=>10}]
|
1598
|
+
@ds.filter(:a=>eval('(20..)')).all.must_equal [{:a=>20, :b=>10}]
|
1599
|
+
@ds.filter(:a=>eval('(10..)')).all.must_equal [{:a=>20, :b=>10}]
|
1560
1600
|
end if RUBY_VERSION >= '2.6'
|
1561
1601
|
|
1562
1602
|
it "should work with startless ranges as hash values" do
|
1563
1603
|
@ds.insert(20, 10)
|
1564
|
-
@ds.filter(:a=>eval('..30')).all.must_equal [{:a=>20, :b=>10}]
|
1565
|
-
@ds.filter(:a=>eval('...30')).all.must_equal [{:a=>20, :b=>10}]
|
1566
|
-
@ds.filter(:a=>eval('..20')).all.must_equal [{:a=>20, :b=>10}]
|
1567
|
-
@ds.filter(:a=>eval('...20')).all.must_equal []
|
1568
|
-
@ds.filter(:a=>eval('..10')).all.must_equal []
|
1569
|
-
@ds.filter(:a=>eval('...10')).all.must_equal []
|
1604
|
+
@ds.filter(:a=>eval('(..30)')).all.must_equal [{:a=>20, :b=>10}]
|
1605
|
+
@ds.filter(:a=>eval('(...30)')).all.must_equal [{:a=>20, :b=>10}]
|
1606
|
+
@ds.filter(:a=>eval('(..20)')).all.must_equal [{:a=>20, :b=>10}]
|
1607
|
+
@ds.filter(:a=>eval('(...20)')).all.must_equal []
|
1608
|
+
@ds.filter(:a=>eval('(..10)')).all.must_equal []
|
1609
|
+
@ds.filter(:a=>eval('(...10)')).all.must_equal []
|
1570
1610
|
|
1571
1611
|
@ds.filter(:a=>eval('nil..nil')).all.must_equal [{:a=>20, :b=>10}]
|
1572
1612
|
end if RUBY_VERSION >= '2.7'
|
@@ -2393,7 +2393,7 @@ describe "string_agg extension" do
|
|
2393
2393
|
cspecify "should have string_agg return aggregated concatenation for distinct values", :mssql, :sqlite, :oracle, :db2, :derby do
|
2394
2394
|
@ds.select_group(:id).select_append(Sequel.string_agg(:s).order(:s).distinct.as(:v)).map([:id, :v]).must_equal [[1, 'a,b,c'], [2, 'aa,bb']]
|
2395
2395
|
end
|
2396
|
-
end
|
2396
|
+
end if (DB.database_type != :postgres || DB.server_version >= 90000)
|
2397
2397
|
|
2398
2398
|
describe "insert_conflict plugin" do
|
2399
2399
|
before(:all) do
|
@@ -634,6 +634,15 @@ describe "Database schema modifiers" do
|
|
634
634
|
@ds.all.must_equal [{:id=>10}, {:id=>20}]
|
635
635
|
end
|
636
636
|
|
637
|
+
it "should set column defaults correctly if column has existing default" do
|
638
|
+
@db.create_table!(:items){Integer :id, :default=>10}
|
639
|
+
@ds.insert
|
640
|
+
@ds.all.must_equal [{:id=>10}]
|
641
|
+
@db.alter_table(:items){set_column_default :id, 20}
|
642
|
+
@ds.insert
|
643
|
+
@ds.all.must_equal [{:id=>10}, {:id=>20}]
|
644
|
+
end
|
645
|
+
|
637
646
|
it "should set column defaults to nil correctly" do
|
638
647
|
@db.create_table!(:items){Integer :id}
|
639
648
|
@ds.insert(:id=>10)
|
@@ -62,4 +62,10 @@ if ENV['SEQUEL_FREEZE_DATABASE']
|
|
62
62
|
DB.freeze
|
63
63
|
end
|
64
64
|
|
65
|
-
|
65
|
+
version = if DB.respond_to?(:server_version)
|
66
|
+
DB.server_version
|
67
|
+
elsif DB.respond_to?(:sqlite_version)
|
68
|
+
DB.sqlite_version
|
69
|
+
end
|
70
|
+
|
71
|
+
puts "running #{defined?(SEQUEL_ADAPTER_TEST) ? SEQUEL_ADAPTER_TEST : "integration (database type: #{DB.database_type})"} specs on #{RUBY_ENGINE} #{defined?(JRUBY_VERSION) ? JRUBY_VERSION : RUBY_VERSION} with #{DB.adapter_scheme} adapter#{" (database version: #{version})" if version}"
|
data/spec/model/plugins_spec.rb
CHANGED
@@ -326,12 +326,12 @@ describe "Sequel::Plugins.def_sequel_method" do
|
|
326
326
|
it "should define methods using block" do
|
327
327
|
m0 = Sequel::Plugins.def_sequel_method(@m, "x", 0){1}
|
328
328
|
m0.must_be_kind_of Symbol
|
329
|
-
m0.must_match
|
329
|
+
m0.must_match(/\A_sequel_x_\d+\z/)
|
330
330
|
@scope.send(m0).must_equal 1
|
331
331
|
|
332
332
|
m1 = Sequel::Plugins.def_sequel_method(@m, "x", 1){|x| [x, 2]}
|
333
333
|
m1.must_be_kind_of Symbol
|
334
|
-
m1.must_match
|
334
|
+
m1.must_match(/\A_sequel_x_\d+\z/)
|
335
335
|
@scope.send(m1, 3).must_equal [3, 2]
|
336
336
|
end
|
337
337
|
|
data/spec/model/spec_helper.rb
CHANGED
@@ -7,7 +7,7 @@ Sequel::Deprecation.backtrace_filter = lambda{|line, lineno| lineno < 4 || line
|
|
7
7
|
|
8
8
|
ENV['MT_NO_PLUGINS'] = '1' # Work around stupid autoloading of plugins
|
9
9
|
gem 'minitest'
|
10
|
-
require 'minitest/autorun'
|
10
|
+
require 'minitest/global_expectations/autorun'
|
11
11
|
require 'minitest/hooks/default'
|
12
12
|
|
13
13
|
require_relative '../deprecation_helper'
|
data/spec/sequel_warning.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest-global_expectations
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: minitest-shared_description
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -208,6 +222,11 @@ extra_rdoc_files:
|
|
208
222
|
- doc/release_notes/5.22.0.txt
|
209
223
|
- doc/release_notes/5.23.0.txt
|
210
224
|
- doc/release_notes/5.24.0.txt
|
225
|
+
- doc/release_notes/5.25.0.txt
|
226
|
+
- doc/release_notes/5.26.0.txt
|
227
|
+
- doc/release_notes/5.27.0.txt
|
228
|
+
- doc/release_notes/5.28.0.txt
|
229
|
+
- doc/release_notes/5.29.0.txt
|
211
230
|
files:
|
212
231
|
- CHANGELOG
|
213
232
|
- MIT-LICENSE
|
@@ -303,6 +322,11 @@ files:
|
|
303
322
|
- doc/release_notes/5.22.0.txt
|
304
323
|
- doc/release_notes/5.23.0.txt
|
305
324
|
- doc/release_notes/5.24.0.txt
|
325
|
+
- doc/release_notes/5.25.0.txt
|
326
|
+
- doc/release_notes/5.26.0.txt
|
327
|
+
- doc/release_notes/5.27.0.txt
|
328
|
+
- doc/release_notes/5.28.0.txt
|
329
|
+
- doc/release_notes/5.29.0.txt
|
306
330
|
- doc/release_notes/5.3.0.txt
|
307
331
|
- doc/release_notes/5.4.0.txt
|
308
332
|
- doc/release_notes/5.5.0.txt
|
@@ -401,6 +425,7 @@ files:
|
|
401
425
|
- lib/sequel/extensions/_model_constraint_validations.rb
|
402
426
|
- lib/sequel/extensions/_model_pg_row.rb
|
403
427
|
- lib/sequel/extensions/_pretty_table.rb
|
428
|
+
- lib/sequel/extensions/any_not_empty.rb
|
404
429
|
- lib/sequel/extensions/arbitrary_servers.rb
|
405
430
|
- lib/sequel/extensions/auto_literal_strings.rb
|
406
431
|
- lib/sequel/extensions/blank.rb
|
@@ -421,6 +446,7 @@ files:
|
|
421
446
|
- lib/sequel/extensions/error_sql.rb
|
422
447
|
- lib/sequel/extensions/escaped_like.rb
|
423
448
|
- lib/sequel/extensions/eval_inspect.rb
|
449
|
+
- lib/sequel/extensions/exclude_or_null.rb
|
424
450
|
- lib/sequel/extensions/freeze_datasets.rb
|
425
451
|
- lib/sequel/extensions/from_block.rb
|
426
452
|
- lib/sequel/extensions/graph_each.rb
|
@@ -490,6 +516,7 @@ files:
|
|
490
516
|
- lib/sequel/plugins/active_model.rb
|
491
517
|
- lib/sequel/plugins/after_initialize.rb
|
492
518
|
- lib/sequel/plugins/association_dependencies.rb
|
519
|
+
- lib/sequel/plugins/association_multi_add_remove.rb
|
493
520
|
- lib/sequel/plugins/association_pks.rb
|
494
521
|
- lib/sequel/plugins/association_proxies.rb
|
495
522
|
- lib/sequel/plugins/auto_validations.rb
|
@@ -512,6 +539,7 @@ files:
|
|
512
539
|
- lib/sequel/plugins/dirty.rb
|
513
540
|
- lib/sequel/plugins/eager_each.rb
|
514
541
|
- lib/sequel/plugins/eager_graph_eager.rb
|
542
|
+
- lib/sequel/plugins/empty_failure_backtraces.rb
|
515
543
|
- lib/sequel/plugins/error_splitter.rb
|
516
544
|
- lib/sequel/plugins/finder.rb
|
517
545
|
- lib/sequel/plugins/force_encoding.rb
|
@@ -598,8 +626,10 @@ files:
|
|
598
626
|
- spec/extensions/accessed_columns_spec.rb
|
599
627
|
- spec/extensions/active_model_spec.rb
|
600
628
|
- spec/extensions/after_initialize_spec.rb
|
629
|
+
- spec/extensions/any_not_empty_spec.rb
|
601
630
|
- spec/extensions/arbitrary_servers_spec.rb
|
602
631
|
- spec/extensions/association_dependencies_spec.rb
|
632
|
+
- spec/extensions/association_multi_add_remove_spec.rb
|
603
633
|
- spec/extensions/association_pks_spec.rb
|
604
634
|
- spec/extensions/association_proxies_spec.rb
|
605
635
|
- spec/extensions/auto_literal_strings_spec.rb
|
@@ -636,10 +666,12 @@ files:
|
|
636
666
|
- spec/extensions/eager_each_spec.rb
|
637
667
|
- spec/extensions/eager_graph_eager_spec.rb
|
638
668
|
- spec/extensions/empty_array_consider_nulls_spec.rb
|
669
|
+
- spec/extensions/empty_failure_backtraces_spec.rb
|
639
670
|
- spec/extensions/error_splitter_spec.rb
|
640
671
|
- spec/extensions/error_sql_spec.rb
|
641
672
|
- spec/extensions/escaped_like_spec.rb
|
642
673
|
- spec/extensions/eval_inspect_spec.rb
|
674
|
+
- spec/extensions/exclude_or_null_spec.rb
|
643
675
|
- spec/extensions/finder_spec.rb
|
644
676
|
- spec/extensions/force_encoding_spec.rb
|
645
677
|
- spec/extensions/freeze_datasets_spec.rb
|
@@ -861,7 +893,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
861
893
|
- !ruby/object:Gem::Version
|
862
894
|
version: '0'
|
863
895
|
requirements: []
|
864
|
-
rubygems_version: 3.
|
896
|
+
rubygems_version: 3.1.2
|
865
897
|
signing_key:
|
866
898
|
specification_version: 4
|
867
899
|
summary: The Database Toolkit for Ruby
|