sequel 5.38.0 → 5.43.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 +54 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +1 -1
- data/doc/cheat_sheet.rdoc +5 -5
- data/doc/code_order.rdoc +0 -12
- data/doc/fork_safety.rdoc +84 -0
- data/doc/postgresql.rdoc +1 -1
- data/doc/querying.rdoc +3 -3
- data/doc/release_notes/5.39.0.txt +19 -0
- data/doc/release_notes/5.40.0.txt +40 -0
- 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/sql.rdoc +1 -1
- data/doc/testing.rdoc +2 -0
- data/lib/sequel/adapters/ado.rb +16 -16
- data/lib/sequel/adapters/jdbc.rb +2 -2
- data/lib/sequel/adapters/shared/mssql.rb +21 -1
- data/lib/sequel/adapters/shared/postgres.rb +5 -3
- data/lib/sequel/adapters/shared/sqlite.rb +35 -1
- data/lib/sequel/database/misc.rb +1 -2
- data/lib/sequel/database/schema_generator.rb +16 -1
- data/lib/sequel/database/schema_methods.rb +19 -5
- data/lib/sequel/database/transactions.rb +1 -1
- data/lib/sequel/dataset/features.rb +10 -0
- data/lib/sequel/dataset/prepared_statements.rb +2 -0
- data/lib/sequel/dataset/sql.rb +32 -10
- data/lib/sequel/extensions/async_thread_pool.rb +438 -0
- data/lib/sequel/extensions/blank.rb +8 -0
- data/lib/sequel/extensions/date_arithmetic.rb +7 -9
- data/lib/sequel/extensions/eval_inspect.rb +2 -0
- data/lib/sequel/extensions/inflector.rb +8 -0
- data/lib/sequel/extensions/migration.rb +2 -0
- data/lib/sequel/extensions/named_timezones.rb +5 -1
- data/lib/sequel/extensions/pg_array.rb +1 -0
- data/lib/sequel/extensions/pg_interval.rb +34 -8
- data/lib/sequel/extensions/pg_row.rb +1 -0
- data/lib/sequel/extensions/query.rb +2 -0
- data/lib/sequel/model/associations.rb +28 -4
- data/lib/sequel/model/base.rb +23 -6
- data/lib/sequel/model/plugins.rb +5 -0
- data/lib/sequel/plugins/association_proxies.rb +2 -0
- data/lib/sequel/plugins/async_thread_pool.rb +39 -0
- data/lib/sequel/plugins/auto_validations.rb +15 -1
- data/lib/sequel/plugins/column_encryption.rb +711 -0
- data/lib/sequel/plugins/composition.rb +7 -2
- data/lib/sequel/plugins/constraint_validations.rb +2 -1
- data/lib/sequel/plugins/dataset_associations.rb +4 -1
- data/lib/sequel/plugins/json_serializer.rb +37 -22
- data/lib/sequel/plugins/nested_attributes.rb +8 -3
- data/lib/sequel/plugins/pg_array_associations.rb +4 -0
- data/lib/sequel/plugins/pg_auto_constraint_validations.rb +2 -0
- data/lib/sequel/plugins/serialization.rb +8 -3
- data/lib/sequel/plugins/serialization_modification_detection.rb +1 -1
- data/lib/sequel/plugins/single_table_inheritance.rb +2 -0
- data/lib/sequel/plugins/tree.rb +9 -4
- data/lib/sequel/plugins/validation_helpers.rb +6 -2
- data/lib/sequel/timezones.rb +8 -3
- data/lib/sequel/version.rb +1 -1
- metadata +36 -21
@@ -143,10 +143,14 @@ module Sequel
|
|
143
143
|
compositions[name] = send(composer_meth)
|
144
144
|
end
|
145
145
|
end
|
146
|
-
|
146
|
+
alias_method(name, name)
|
147
|
+
|
148
|
+
meth = :"#{name}="
|
149
|
+
define_method(meth) do |v|
|
147
150
|
modified!
|
148
151
|
compositions[name] = v
|
149
152
|
end
|
153
|
+
alias_method(meth, meth)
|
150
154
|
end
|
151
155
|
end
|
152
156
|
|
@@ -167,8 +171,9 @@ module Sequel
|
|
167
171
|
|
168
172
|
# Freeze compositions hash when freezing model instance.
|
169
173
|
def freeze
|
170
|
-
compositions
|
174
|
+
compositions
|
171
175
|
super
|
176
|
+
compositions.freeze
|
172
177
|
end
|
173
178
|
|
174
179
|
# For each composition, set the columns in the model class based
|
@@ -62,7 +62,10 @@ module Sequel
|
|
62
62
|
ret = super
|
63
63
|
r = association_reflection(name)
|
64
64
|
meth = r.returns_array? ? name : pluralize(name).to_sym
|
65
|
-
dataset_module
|
65
|
+
dataset_module do
|
66
|
+
define_method(meth){associated(name)}
|
67
|
+
alias_method(meth, meth)
|
68
|
+
end
|
66
69
|
ret
|
67
70
|
end
|
68
71
|
|
@@ -133,21 +133,39 @@ module Sequel
|
|
133
133
|
end
|
134
134
|
end
|
135
135
|
|
136
|
-
#
|
137
|
-
#
|
138
|
-
# work by creating instances of this class, which take a
|
139
|
-
# literal JSON string and have +to_json+ return it.
|
136
|
+
# SEQUEL6: Remove
|
137
|
+
# :nocov:
|
140
138
|
class Literal
|
141
|
-
# Store the literal JSON to use
|
142
139
|
def initialize(json)
|
143
140
|
@json = json
|
144
141
|
end
|
145
142
|
|
146
|
-
# Return the literal JSON to use
|
147
143
|
def to_json(*a)
|
148
144
|
@json
|
149
145
|
end
|
150
146
|
end
|
147
|
+
# :nocov:
|
148
|
+
Sequel::Deprecation.deprecate_constant(self, :Literal)
|
149
|
+
|
150
|
+
# Convert the given object to a JSON data structure using the given arguments.
|
151
|
+
def self.object_to_json_data(obj, *args, &block)
|
152
|
+
if obj.is_a?(Array)
|
153
|
+
obj.map{|x| object_to_json_data(x, *args, &block)}
|
154
|
+
else
|
155
|
+
if obj.respond_to?(:to_json_data)
|
156
|
+
obj.to_json_data(*args, &block)
|
157
|
+
else
|
158
|
+
begin
|
159
|
+
Sequel.parse_json(Sequel.object_to_json(obj, *args, &block))
|
160
|
+
# :nocov:
|
161
|
+
rescue Sequel.json_parser_error_class
|
162
|
+
# Support for old Ruby code that only supports parsing JSON object/array
|
163
|
+
Sequel.parse_json(Sequel.object_to_json([obj], *args, &block))[0]
|
164
|
+
# :nocov:
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
151
169
|
|
152
170
|
module ClassMethods
|
153
171
|
# The default opts to use when serializing model objects to JSON.
|
@@ -324,20 +342,7 @@ module Sequel
|
|
324
342
|
end
|
325
343
|
|
326
344
|
v = v.empty? ? [] : [v]
|
327
|
-
|
328
|
-
objs = public_send(k)
|
329
|
-
|
330
|
-
is_array = if r = model.association_reflection(k)
|
331
|
-
r.returns_array?
|
332
|
-
else
|
333
|
-
objs.is_a?(Array)
|
334
|
-
end
|
335
|
-
|
336
|
-
h[key_name] = if is_array
|
337
|
-
objs.map{|obj| Literal.new(Sequel.object_to_json(obj, *v))}
|
338
|
-
else
|
339
|
-
Literal.new(Sequel.object_to_json(objs, *v))
|
340
|
-
end
|
345
|
+
h[key_name] = JsonSerializer.object_to_json_data(public_send(k), *v)
|
341
346
|
end
|
342
347
|
else
|
343
348
|
Array(inc).each do |c|
|
@@ -347,7 +352,8 @@ module Sequel
|
|
347
352
|
else
|
348
353
|
key_name = c.to_s
|
349
354
|
end
|
350
|
-
|
355
|
+
|
356
|
+
h[key_name] = JsonSerializer.object_to_json_data(public_send(c))
|
351
357
|
end
|
352
358
|
end
|
353
359
|
end
|
@@ -362,6 +368,15 @@ module Sequel
|
|
362
368
|
h = yield h if block_given?
|
363
369
|
Sequel.object_to_json(h, *a)
|
364
370
|
end
|
371
|
+
|
372
|
+
# Convert the receiver to a JSON data structure using the given arguments.
|
373
|
+
def to_json_data(*args, &block)
|
374
|
+
if block
|
375
|
+
to_json(*args){|x| return block.call(x)}
|
376
|
+
else
|
377
|
+
to_json(*args){|x| return x}
|
378
|
+
end
|
379
|
+
end
|
365
380
|
end
|
366
381
|
|
367
382
|
module DatasetMethods
|
@@ -420,7 +435,7 @@ module Sequel
|
|
420
435
|
else
|
421
436
|
all
|
422
437
|
end
|
423
|
-
|
438
|
+
JsonSerializer.object_to_json_data(array, opts, &opts[:instance_block])
|
424
439
|
else
|
425
440
|
all
|
426
441
|
end
|
@@ -108,9 +108,10 @@ module Sequel
|
|
108
108
|
# array of the allowable fields.
|
109
109
|
# :limit :: For *_to_many associations, a limit on the number of records
|
110
110
|
# that will be processed, to prevent denial of service attacks.
|
111
|
-
# :reject_if :: A proc that is
|
111
|
+
# :reject_if :: A proc that is called with each attribute hash before it is
|
112
112
|
# passed to its associated object. If the proc returns a truthy
|
113
113
|
# value, the attribute hash is ignored.
|
114
|
+
# :reject_nil :: Ignore nil objects passed to nested attributes setter methods.
|
114
115
|
# :remove :: Allow disassociation of nested records (can remove the associated
|
115
116
|
# object from the parent object, but not destroy the associated object).
|
116
117
|
# :require_modification :: Whether to require modification of nested objects when
|
@@ -145,9 +146,12 @@ module Sequel
|
|
145
146
|
# class.
|
146
147
|
def def_nested_attribute_method(reflection)
|
147
148
|
@nested_attributes_module.class_eval do
|
148
|
-
|
149
|
-
|
149
|
+
meth = :"#{reflection[:name]}_attributes="
|
150
|
+
assoc = reflection[:name]
|
151
|
+
define_method(meth) do |v|
|
152
|
+
set_nested_attributes(assoc, v)
|
150
153
|
end
|
154
|
+
alias_method meth, meth
|
151
155
|
end
|
152
156
|
end
|
153
157
|
end
|
@@ -159,6 +163,7 @@ module Sequel
|
|
159
163
|
def set_nested_attributes(assoc, obj, opts=OPTS)
|
160
164
|
raise(Error, "no association named #{assoc} for #{model.inspect}") unless ref = model.association_reflection(assoc)
|
161
165
|
raise(Error, "nested attributes are not enabled for association #{assoc} for #{model.inspect}") unless meta = ref[:nested_attributes]
|
166
|
+
return if obj.nil? && meta[:reject_nil]
|
162
167
|
meta = meta.merge(opts)
|
163
168
|
meta[:reflection] = ref
|
164
169
|
if ref.returns_array?
|
@@ -520,7 +520,9 @@ module Sequel
|
|
520
520
|
def many_to_pg_array_association_filter_expression(op, ref, obj)
|
521
521
|
pk = ref.qualify(model.table_name, ref.primary_key)
|
522
522
|
key = ref[:key]
|
523
|
+
# :nocov:
|
523
524
|
expr = case obj
|
525
|
+
# :nocov:
|
524
526
|
when Sequel::Model
|
525
527
|
if (assoc_pks = obj.get_column_value(key)) && !assoc_pks.empty?
|
526
528
|
Sequel[pk=>assoc_pks.to_a]
|
@@ -540,7 +542,9 @@ module Sequel
|
|
540
542
|
# Support filtering by pg_array_to_many associations using a subquery.
|
541
543
|
def pg_array_to_many_association_filter_expression(op, ref, obj)
|
542
544
|
key = ref.qualify(model.table_name, ref[:key_column])
|
545
|
+
# :nocov:
|
543
546
|
expr = case obj
|
547
|
+
# :nocov:
|
544
548
|
when Sequel::Model
|
545
549
|
if pkv = obj.get_column_value(ref.primary_key_method)
|
546
550
|
Sequel.pg_array_op(key).contains(Sequel.pg_array([pkv], ref.array_type))
|
@@ -250,7 +250,9 @@ module Sequel
|
|
250
250
|
messages = model.pg_auto_constraint_validations_messages
|
251
251
|
|
252
252
|
unless override
|
253
|
+
# :nocov:
|
253
254
|
case e
|
255
|
+
# :nocov:
|
254
256
|
when Sequel::NotNullConstraintViolation
|
255
257
|
if column = info[:column]
|
256
258
|
add_pg_constraint_validation_error([m.call(column)], messages[:not_null])
|
@@ -127,7 +127,7 @@ module Sequel
|
|
127
127
|
def serialize_attributes(format, *columns)
|
128
128
|
if format.is_a?(Symbol)
|
129
129
|
unless format = Sequel.synchronize{REGISTERED_FORMATS[format]}
|
130
|
-
raise(Error, "Unsupported serialization format: #{format} (valid formats: #{Sequel.synchronize{REGISTERED_FORMATS.keys}.
|
130
|
+
raise(Error, "Unsupported serialization format: #{format} (valid formats: #{Sequel.synchronize{REGISTERED_FORMATS.keys}.inspect})")
|
131
131
|
end
|
132
132
|
end
|
133
133
|
serializer, deserializer = format
|
@@ -154,7 +154,10 @@ module Sequel
|
|
154
154
|
deserialized_values[column] = deserialize_value(column, super())
|
155
155
|
end
|
156
156
|
end
|
157
|
-
|
157
|
+
alias_method(column, column)
|
158
|
+
|
159
|
+
setter = :"#{column}="
|
160
|
+
define_method(setter) do |v|
|
158
161
|
cc = changed_columns
|
159
162
|
if !cc.include?(column) && (new? || get_column_value(column) != v)
|
160
163
|
cc << column
|
@@ -164,6 +167,7 @@ module Sequel
|
|
164
167
|
|
165
168
|
deserialized_values[column] = v
|
166
169
|
end
|
170
|
+
alias_method(setter, setter)
|
167
171
|
end
|
168
172
|
end
|
169
173
|
end
|
@@ -177,8 +181,9 @@ module Sequel
|
|
177
181
|
|
178
182
|
# Freeze the deserialized values
|
179
183
|
def freeze
|
180
|
-
deserialized_values
|
184
|
+
deserialized_values
|
181
185
|
super
|
186
|
+
deserialized_values.freeze
|
182
187
|
end
|
183
188
|
|
184
189
|
# Serialize deserialized values before saving
|
data/lib/sequel/plugins/tree.rb
CHANGED
@@ -45,6 +45,7 @@ module Sequel
|
|
45
45
|
|
46
46
|
model.instance_exec do
|
47
47
|
@parent_column = opts[:key]
|
48
|
+
@qualified_parent_column = Sequel.deep_qualify(table_name, opts[:key])
|
48
49
|
@tree_order = opts[:order]
|
49
50
|
@parent_association_name = parent
|
50
51
|
@children_association_name = children
|
@@ -59,17 +60,21 @@ module Sequel
|
|
59
60
|
# The column symbol or array of column symbols on which to order the tree.
|
60
61
|
attr_accessor :tree_order
|
61
62
|
|
62
|
-
# The symbol for the column containing the value pointing to the
|
63
|
-
# parent of the
|
63
|
+
# The symbol or array of symbols for the column containing the value pointing to the
|
64
|
+
# parent of the node.
|
64
65
|
attr_accessor :parent_column
|
65
66
|
|
67
|
+
# The qualified identifier or array of qualified identifiers for the column
|
68
|
+
# containing the value pointing to the parent of the node.
|
69
|
+
attr_accessor :qualified_parent_column
|
70
|
+
|
66
71
|
# The association name for the parent association
|
67
72
|
attr_reader :parent_association_name
|
68
73
|
|
69
74
|
# The association name for the children association
|
70
75
|
attr_reader :children_association_name
|
71
76
|
|
72
|
-
Plugins.inherited_instance_variables(self, :@parent_column=>nil, :@tree_order=>nil, :@parent_association_name=>nil, :@children_association_name=>nil)
|
77
|
+
Plugins.inherited_instance_variables(self, :@parent_column=>nil, :@qualified_parent_column=>nil, :@tree_order=>nil, :@parent_association_name=>nil, :@children_association_name=>nil)
|
73
78
|
Plugins.def_dataset_methods(self, [:roots, :roots_dataset])
|
74
79
|
|
75
80
|
# Should freeze tree order if it is an array when freezing the model class.
|
@@ -151,7 +156,7 @@ module Sequel
|
|
151
156
|
#
|
152
157
|
# TreeClass.roots_dataset # => Sequel::Dataset instance
|
153
158
|
def roots_dataset
|
154
|
-
ds = where(Sequel.or(Array(model.
|
159
|
+
ds = where(Sequel.or(Array(model.qualified_parent_column).zip([])))
|
155
160
|
ds = ds.order(*model.tree_order) if model.tree_order
|
156
161
|
ds
|
157
162
|
end
|
@@ -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/timezones.rb
CHANGED
@@ -10,9 +10,14 @@ module Sequel
|
|
10
10
|
Timezones = SequelMethods
|
11
11
|
Deprecation.deprecate_constant(self, :Timezones)
|
12
12
|
|
13
|
-
# Sequel doesn't pay much attention to timezones by default, but you can set it
|
14
|
-
# handle timezones if you want. There are three separate timezone settings
|
15
|
-
#
|
13
|
+
# Sequel doesn't pay much attention to timezones by default, but you can set it to
|
14
|
+
# handle timezones if you want. There are three separate timezone settings:
|
15
|
+
#
|
16
|
+
# * application_timezone
|
17
|
+
# * database_timezone
|
18
|
+
# * typecast_timezone
|
19
|
+
#
|
20
|
+
# All three timezones have getter and setter methods.
|
16
21
|
# You can set all three timezones to the same value at once via <tt>Sequel.default_timezone=</tt>.
|
17
22
|
#
|
18
23
|
# The only timezone values that are supported by default are <tt>:utc</tt> (convert to UTC),
|
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 = 43
|
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.43.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: 2021-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -117,9 +117,8 @@ extra_rdoc_files:
|
|
117
117
|
- README.rdoc
|
118
118
|
- CHANGELOG
|
119
119
|
- MIT-LICENSE
|
120
|
-
- doc/association_basics.rdoc
|
121
|
-
- doc/model_dataset_method_design.rdoc
|
122
120
|
- doc/advanced_associations.rdoc
|
121
|
+
- doc/association_basics.rdoc
|
123
122
|
- doc/bin_sequel.rdoc
|
124
123
|
- doc/cheat_sheet.rdoc
|
125
124
|
- doc/code_order.rdoc
|
@@ -127,36 +126,30 @@ extra_rdoc_files:
|
|
127
126
|
- doc/dataset_basics.rdoc
|
128
127
|
- doc/dataset_filtering.rdoc
|
129
128
|
- doc/extensions.rdoc
|
129
|
+
- doc/fork_safety.rdoc
|
130
130
|
- doc/mass_assignment.rdoc
|
131
131
|
- doc/migration.rdoc
|
132
|
-
- doc/
|
132
|
+
- doc/model_dataset_method_design.rdoc
|
133
133
|
- doc/model_hooks.rdoc
|
134
134
|
- doc/model_plugins.rdoc
|
135
|
-
- doc/object_model.rdoc
|
136
|
-
- doc/sql.rdoc
|
137
135
|
- doc/mssql_stored_procedures.rdoc
|
138
|
-
- doc/
|
136
|
+
- doc/object_model.rdoc
|
137
|
+
- doc/opening_databases.rdoc
|
139
138
|
- doc/postgresql.rdoc
|
140
|
-
- doc/querying.rdoc
|
141
139
|
- doc/prepared_statements.rdoc
|
140
|
+
- doc/querying.rdoc
|
142
141
|
- doc/reflection.rdoc
|
143
|
-
- doc/security.rdoc
|
144
|
-
- doc/virtual_rows.rdoc
|
145
142
|
- doc/schema_modification.rdoc
|
143
|
+
- doc/security.rdoc
|
146
144
|
- doc/sharding.rdoc
|
145
|
+
- doc/sql.rdoc
|
147
146
|
- doc/testing.rdoc
|
148
|
-
- doc/
|
147
|
+
- doc/thread_safety.rdoc
|
149
148
|
- doc/transactions.rdoc
|
150
|
-
- doc/
|
151
|
-
- doc/
|
149
|
+
- doc/validations.rdoc
|
150
|
+
- doc/virtual_rows.rdoc
|
152
151
|
- doc/release_notes/5.0.0.txt
|
153
152
|
- doc/release_notes/5.1.0.txt
|
154
|
-
- doc/release_notes/5.2.0.txt
|
155
|
-
- doc/release_notes/5.3.0.txt
|
156
|
-
- doc/release_notes/5.4.0.txt
|
157
|
-
- doc/release_notes/5.8.0.txt
|
158
|
-
- doc/release_notes/5.7.0.txt
|
159
|
-
- doc/release_notes/5.9.0.txt
|
160
153
|
- doc/release_notes/5.10.0.txt
|
161
154
|
- doc/release_notes/5.11.0.txt
|
162
155
|
- doc/release_notes/5.12.0.txt
|
@@ -167,6 +160,7 @@ extra_rdoc_files:
|
|
167
160
|
- doc/release_notes/5.17.0.txt
|
168
161
|
- doc/release_notes/5.18.0.txt
|
169
162
|
- doc/release_notes/5.19.0.txt
|
163
|
+
- doc/release_notes/5.2.0.txt
|
170
164
|
- doc/release_notes/5.20.0.txt
|
171
165
|
- doc/release_notes/5.21.0.txt
|
172
166
|
- doc/release_notes/5.22.0.txt
|
@@ -177,6 +171,7 @@ extra_rdoc_files:
|
|
177
171
|
- doc/release_notes/5.27.0.txt
|
178
172
|
- doc/release_notes/5.28.0.txt
|
179
173
|
- doc/release_notes/5.29.0.txt
|
174
|
+
- doc/release_notes/5.3.0.txt
|
180
175
|
- doc/release_notes/5.30.0.txt
|
181
176
|
- doc/release_notes/5.31.0.txt
|
182
177
|
- doc/release_notes/5.32.0.txt
|
@@ -186,6 +181,17 @@ extra_rdoc_files:
|
|
186
181
|
- doc/release_notes/5.36.0.txt
|
187
182
|
- doc/release_notes/5.37.0.txt
|
188
183
|
- doc/release_notes/5.38.0.txt
|
184
|
+
- doc/release_notes/5.39.0.txt
|
185
|
+
- doc/release_notes/5.4.0.txt
|
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.5.0.txt
|
191
|
+
- doc/release_notes/5.6.0.txt
|
192
|
+
- doc/release_notes/5.7.0.txt
|
193
|
+
- doc/release_notes/5.8.0.txt
|
194
|
+
- doc/release_notes/5.9.0.txt
|
189
195
|
files:
|
190
196
|
- CHANGELOG
|
191
197
|
- MIT-LICENSE
|
@@ -200,6 +206,7 @@ files:
|
|
200
206
|
- doc/dataset_basics.rdoc
|
201
207
|
- doc/dataset_filtering.rdoc
|
202
208
|
- doc/extensions.rdoc
|
209
|
+
- doc/fork_safety.rdoc
|
203
210
|
- doc/mass_assignment.rdoc
|
204
211
|
- doc/migration.rdoc
|
205
212
|
- doc/model_dataset_method_design.rdoc
|
@@ -245,7 +252,12 @@ files:
|
|
245
252
|
- doc/release_notes/5.36.0.txt
|
246
253
|
- doc/release_notes/5.37.0.txt
|
247
254
|
- doc/release_notes/5.38.0.txt
|
255
|
+
- doc/release_notes/5.39.0.txt
|
248
256
|
- doc/release_notes/5.4.0.txt
|
257
|
+
- doc/release_notes/5.40.0.txt
|
258
|
+
- doc/release_notes/5.41.0.txt
|
259
|
+
- doc/release_notes/5.42.0.txt
|
260
|
+
- doc/release_notes/5.43.0.txt
|
249
261
|
- doc/release_notes/5.5.0.txt
|
250
262
|
- doc/release_notes/5.6.0.txt
|
251
263
|
- doc/release_notes/5.7.0.txt
|
@@ -344,6 +356,7 @@ files:
|
|
344
356
|
- lib/sequel/extensions/_pretty_table.rb
|
345
357
|
- lib/sequel/extensions/any_not_empty.rb
|
346
358
|
- lib/sequel/extensions/arbitrary_servers.rb
|
359
|
+
- lib/sequel/extensions/async_thread_pool.rb
|
347
360
|
- lib/sequel/extensions/auto_literal_strings.rb
|
348
361
|
- lib/sequel/extensions/blank.rb
|
349
362
|
- lib/sequel/extensions/caller_logging.rb
|
@@ -439,6 +452,7 @@ files:
|
|
439
452
|
- lib/sequel/plugins/association_multi_add_remove.rb
|
440
453
|
- lib/sequel/plugins/association_pks.rb
|
441
454
|
- lib/sequel/plugins/association_proxies.rb
|
455
|
+
- lib/sequel/plugins/async_thread_pool.rb
|
442
456
|
- lib/sequel/plugins/auto_validations.rb
|
443
457
|
- lib/sequel/plugins/before_after_save.rb
|
444
458
|
- lib/sequel/plugins/blacklist_security.rb
|
@@ -447,6 +461,7 @@ files:
|
|
447
461
|
- lib/sequel/plugins/caching.rb
|
448
462
|
- lib/sequel/plugins/class_table_inheritance.rb
|
449
463
|
- lib/sequel/plugins/column_conflicts.rb
|
464
|
+
- lib/sequel/plugins/column_encryption.rb
|
450
465
|
- lib/sequel/plugins/column_select.rb
|
451
466
|
- lib/sequel/plugins/columns_updated.rb
|
452
467
|
- lib/sequel/plugins/composition.rb
|
@@ -551,7 +566,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
551
566
|
- !ruby/object:Gem::Version
|
552
567
|
version: '0'
|
553
568
|
requirements: []
|
554
|
-
rubygems_version: 3.
|
569
|
+
rubygems_version: 3.2.3
|
555
570
|
signing_key:
|
556
571
|
specification_version: 4
|
557
572
|
summary: The Database Toolkit for Ruby
|