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