sequel 5.40.0 → 5.45.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 +52 -0
- data/MIT-LICENSE +1 -1
- data/doc/release_notes/5.41.0.txt +25 -0
- data/doc/release_notes/5.42.0.txt +136 -0
- data/doc/release_notes/5.43.0.txt +98 -0
- data/doc/release_notes/5.44.0.txt +32 -0
- data/doc/release_notes/5.45.0.txt +34 -0
- data/doc/sql.rdoc +1 -1
- data/doc/testing.rdoc +3 -0
- data/doc/virtual_rows.rdoc +1 -1
- data/lib/sequel/adapters/ado.rb +16 -16
- data/lib/sequel/adapters/odbc.rb +5 -1
- data/lib/sequel/adapters/shared/postgres.rb +4 -14
- data/lib/sequel/adapters/shared/sqlite.rb +8 -4
- data/lib/sequel/core.rb +11 -0
- data/lib/sequel/database/misc.rb +1 -2
- data/lib/sequel/database/schema_generator.rb +35 -47
- data/lib/sequel/database/schema_methods.rb +4 -0
- data/lib/sequel/dataset/query.rb +1 -3
- data/lib/sequel/dataset/sql.rb +7 -0
- data/lib/sequel/extensions/async_thread_pool.rb +438 -0
- data/lib/sequel/extensions/blank.rb +2 -0
- data/lib/sequel/extensions/date_arithmetic.rb +32 -23
- data/lib/sequel/extensions/inflector.rb +2 -0
- data/lib/sequel/extensions/named_timezones.rb +5 -1
- data/lib/sequel/extensions/pg_enum.rb +1 -1
- data/lib/sequel/extensions/pg_interval.rb +12 -2
- data/lib/sequel/extensions/pg_loose_count.rb +3 -1
- data/lib/sequel/model/associations.rb +70 -14
- data/lib/sequel/model/base.rb +2 -2
- data/lib/sequel/plugins/async_thread_pool.rb +39 -0
- data/lib/sequel/plugins/auto_validations.rb +15 -1
- data/lib/sequel/plugins/auto_validations_constraint_validations_presence_message.rb +68 -0
- data/lib/sequel/plugins/column_encryption.rb +728 -0
- data/lib/sequel/plugins/composition.rb +2 -1
- data/lib/sequel/plugins/concurrent_eager_loading.rb +174 -0
- data/lib/sequel/plugins/json_serializer.rb +37 -22
- data/lib/sequel/plugins/nested_attributes.rb +5 -2
- data/lib/sequel/plugins/pg_array_associations.rb +6 -4
- data/lib/sequel/plugins/rcte_tree.rb +27 -19
- data/lib/sequel/plugins/serialization.rb +8 -3
- data/lib/sequel/plugins/serialization_modification_detection.rb +1 -1
- data/lib/sequel/plugins/validation_helpers.rb +6 -2
- data/lib/sequel/version.rb +1 -1
- metadata +18 -3
@@ -36,6 +36,7 @@ module Sequel
|
|
36
36
|
# :message :: The message to use. Can be a string which is used directly, or a
|
37
37
|
# proc which is called. If the validation method takes a argument before the array of attributes,
|
38
38
|
# that argument is passed as an argument to the proc.
|
39
|
+
# :skip_invalid :: Do not try to validate columns that are already invalid.
|
39
40
|
#
|
40
41
|
# The default validation options for all models can be modified by
|
41
42
|
# overridding the Model#default_validation_helpers_options private method.
|
@@ -281,14 +282,17 @@ module Sequel
|
|
281
282
|
DEFAULT_OPTIONS[type]
|
282
283
|
end
|
283
284
|
|
284
|
-
# Skip validating any attribute that matches one of the allow_* options
|
285
|
+
# Skip validating any attribute that matches one of the allow_* options,
|
286
|
+
# or already has an error if the skip_invalid option is given.
|
287
|
+
#
|
285
288
|
# Otherwise, yield the attribute, value, and passed option :message to
|
286
289
|
# the block. If the block returns anything except nil or false, add it as
|
287
290
|
# an error message for that attributes.
|
288
291
|
def validatable_attributes(atts, opts)
|
289
|
-
am, an, ab, m = opts.values_at(:allow_missing, :allow_nil, :allow_blank, :message)
|
292
|
+
am, an, ab, m, si = opts.values_at(:allow_missing, :allow_nil, :allow_blank, :message, :skip_invalid)
|
290
293
|
from_values = opts[:from] == :values
|
291
294
|
Array(atts).each do |a|
|
295
|
+
next if si && errors.on(a)
|
292
296
|
next if am && !values.has_key?(a)
|
293
297
|
v = from_values ? values[a] : get_column_value(a)
|
294
298
|
next if an && v.nil?
|
data/lib/sequel/version.rb
CHANGED
@@ -6,7 +6,7 @@ module Sequel
|
|
6
6
|
|
7
7
|
# The minor version of Sequel. Bumped for every non-patch level
|
8
8
|
# release, generally around once a month.
|
9
|
-
MINOR =
|
9
|
+
MINOR = 45
|
10
10
|
|
11
11
|
# The tiny version of Sequel. Usually 0, only bumped for bugfix
|
12
12
|
# releases that fix regressions from previous versions.
|
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.45.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: 2021-
|
11
|
+
date: 2021-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -184,6 +184,11 @@ extra_rdoc_files:
|
|
184
184
|
- doc/release_notes/5.39.0.txt
|
185
185
|
- doc/release_notes/5.4.0.txt
|
186
186
|
- doc/release_notes/5.40.0.txt
|
187
|
+
- doc/release_notes/5.41.0.txt
|
188
|
+
- doc/release_notes/5.42.0.txt
|
189
|
+
- doc/release_notes/5.43.0.txt
|
190
|
+
- doc/release_notes/5.44.0.txt
|
191
|
+
- doc/release_notes/5.45.0.txt
|
187
192
|
- doc/release_notes/5.5.0.txt
|
188
193
|
- doc/release_notes/5.6.0.txt
|
189
194
|
- doc/release_notes/5.7.0.txt
|
@@ -252,6 +257,11 @@ files:
|
|
252
257
|
- doc/release_notes/5.39.0.txt
|
253
258
|
- doc/release_notes/5.4.0.txt
|
254
259
|
- doc/release_notes/5.40.0.txt
|
260
|
+
- doc/release_notes/5.41.0.txt
|
261
|
+
- doc/release_notes/5.42.0.txt
|
262
|
+
- doc/release_notes/5.43.0.txt
|
263
|
+
- doc/release_notes/5.44.0.txt
|
264
|
+
- doc/release_notes/5.45.0.txt
|
255
265
|
- doc/release_notes/5.5.0.txt
|
256
266
|
- doc/release_notes/5.6.0.txt
|
257
267
|
- doc/release_notes/5.7.0.txt
|
@@ -350,6 +360,7 @@ files:
|
|
350
360
|
- lib/sequel/extensions/_pretty_table.rb
|
351
361
|
- lib/sequel/extensions/any_not_empty.rb
|
352
362
|
- lib/sequel/extensions/arbitrary_servers.rb
|
363
|
+
- lib/sequel/extensions/async_thread_pool.rb
|
353
364
|
- lib/sequel/extensions/auto_literal_strings.rb
|
354
365
|
- lib/sequel/extensions/blank.rb
|
355
366
|
- lib/sequel/extensions/caller_logging.rb
|
@@ -445,7 +456,9 @@ files:
|
|
445
456
|
- lib/sequel/plugins/association_multi_add_remove.rb
|
446
457
|
- lib/sequel/plugins/association_pks.rb
|
447
458
|
- lib/sequel/plugins/association_proxies.rb
|
459
|
+
- lib/sequel/plugins/async_thread_pool.rb
|
448
460
|
- lib/sequel/plugins/auto_validations.rb
|
461
|
+
- lib/sequel/plugins/auto_validations_constraint_validations_presence_message.rb
|
449
462
|
- lib/sequel/plugins/before_after_save.rb
|
450
463
|
- lib/sequel/plugins/blacklist_security.rb
|
451
464
|
- lib/sequel/plugins/boolean_readers.rb
|
@@ -453,9 +466,11 @@ files:
|
|
453
466
|
- lib/sequel/plugins/caching.rb
|
454
467
|
- lib/sequel/plugins/class_table_inheritance.rb
|
455
468
|
- lib/sequel/plugins/column_conflicts.rb
|
469
|
+
- lib/sequel/plugins/column_encryption.rb
|
456
470
|
- lib/sequel/plugins/column_select.rb
|
457
471
|
- lib/sequel/plugins/columns_updated.rb
|
458
472
|
- lib/sequel/plugins/composition.rb
|
473
|
+
- lib/sequel/plugins/concurrent_eager_loading.rb
|
459
474
|
- lib/sequel/plugins/constraint_validations.rb
|
460
475
|
- lib/sequel/plugins/csv_serializer.rb
|
461
476
|
- lib/sequel/plugins/dataset_associations.rb
|
@@ -557,7 +572,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
557
572
|
- !ruby/object:Gem::Version
|
558
573
|
version: '0'
|
559
574
|
requirements: []
|
560
|
-
rubygems_version: 3.2.
|
575
|
+
rubygems_version: 3.2.15
|
561
576
|
signing_key:
|
562
577
|
specification_version: 4
|
563
578
|
summary: The Database Toolkit for Ruby
|