rom-sql 3.1.0 → 3.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +214 -101
- data/LICENSE +1 -1
- data/README.md +12 -54
- data/lib/rom-sql.rb +2 -0
- data/lib/rom/plugins/relation/sql/auto_restrictions.rb +2 -0
- data/lib/rom/plugins/relation/sql/instrumentation.rb +2 -0
- data/lib/rom/plugins/relation/sql/postgres/explain.rb +6 -7
- data/lib/rom/plugins/relation/sql/postgres/full_text_search.rb +53 -0
- data/lib/rom/plugins/relation/sql/postgres/streaming.rb +108 -0
- data/lib/rom/sql.rb +2 -0
- data/lib/rom/sql/associations.rb +2 -0
- data/lib/rom/sql/associations/core.rb +3 -1
- data/lib/rom/sql/associations/many_to_many.rb +3 -1
- data/lib/rom/sql/associations/many_to_one.rb +2 -0
- data/lib/rom/sql/associations/one_to_many.rb +2 -0
- data/lib/rom/sql/associations/one_to_one.rb +2 -0
- data/lib/rom/sql/associations/one_to_one_through.rb +2 -0
- data/lib/rom/sql/associations/self_ref.rb +2 -0
- data/lib/rom/sql/attribute.rb +26 -7
- data/lib/rom/sql/attribute_aliasing.rb +28 -0
- data/lib/rom/sql/commands.rb +2 -0
- data/lib/rom/sql/commands/create.rb +2 -0
- data/lib/rom/sql/commands/delete.rb +2 -0
- data/lib/rom/sql/commands/error_wrapper.rb +2 -0
- data/lib/rom/sql/commands/update.rb +2 -0
- data/lib/rom/sql/dsl.rb +11 -3
- data/lib/rom/sql/error.rb +2 -0
- data/lib/rom/sql/errors.rb +2 -0
- data/lib/rom/sql/extensions.rb +2 -0
- data/lib/rom/sql/extensions/active_support_notifications.rb +2 -0
- data/lib/rom/sql/extensions/mysql.rb +2 -0
- data/lib/rom/sql/extensions/mysql/type_builder.rb +2 -0
- data/lib/rom/sql/extensions/postgres.rb +3 -0
- data/lib/rom/sql/extensions/postgres/commands.rb +3 -1
- data/lib/rom/sql/extensions/postgres/type_builder.rb +6 -4
- data/lib/rom/sql/extensions/postgres/type_serializer.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types/array.rb +6 -4
- data/lib/rom/sql/extensions/postgres/types/array_types.rb +3 -1
- data/lib/rom/sql/extensions/postgres/types/geometric.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types/json.rb +13 -11
- data/lib/rom/sql/extensions/postgres/types/ltree.rb +25 -23
- data/lib/rom/sql/extensions/postgres/types/network.rb +2 -0
- data/lib/rom/sql/extensions/postgres/types/range.rb +2 -0
- data/lib/rom/sql/extensions/rails_log_subscriber.rb +2 -0
- data/lib/rom/sql/extensions/sqlite.rb +2 -0
- data/lib/rom/sql/extensions/sqlite/type_builder.rb +2 -0
- data/lib/rom/sql/extensions/sqlite/types.rb +2 -0
- data/lib/rom/sql/foreign_key.rb +3 -1
- data/lib/rom/sql/function.rb +14 -3
- data/lib/rom/sql/gateway.rb +6 -1
- data/lib/rom/sql/group_dsl.rb +2 -0
- data/lib/rom/sql/index.rb +2 -0
- data/lib/rom/sql/join_dsl.rb +2 -0
- data/lib/rom/sql/mapper_compiler.rb +2 -0
- data/lib/rom/sql/migration.rb +5 -3
- data/lib/rom/sql/migration/inline_runner.rb +2 -0
- data/lib/rom/sql/migration/migrator.rb +4 -2
- data/lib/rom/sql/migration/recorder.rb +2 -0
- data/lib/rom/sql/migration/runner.rb +4 -2
- data/lib/rom/sql/migration/schema_diff.rb +2 -0
- data/lib/rom/sql/migration/template.rb +2 -0
- data/lib/rom/sql/migration/writer.rb +12 -4
- data/lib/rom/sql/order_dsl.rb +2 -0
- data/lib/rom/sql/plugin/associates.rb +4 -2
- data/lib/rom/sql/plugin/nullify.rb +2 -0
- data/lib/rom/sql/plugin/pagination.rb +2 -0
- data/lib/rom/sql/plugins.rb +2 -0
- data/lib/rom/sql/projection_dsl.rb +3 -1
- data/lib/rom/sql/rake_task.rb +2 -0
- data/lib/rom/sql/relation.rb +3 -1
- data/lib/rom/sql/relation/reading.rb +6 -4
- data/lib/rom/sql/relation/writing.rb +2 -0
- data/lib/rom/sql/restriction_dsl.rb +9 -1
- data/lib/rom/sql/schema.rb +16 -2
- data/lib/rom/sql/schema/attributes_inferrer.rb +5 -3
- data/lib/rom/sql/schema/dsl.rb +3 -1
- data/lib/rom/sql/schema/index_dsl.rb +5 -2
- data/lib/rom/sql/schema/inferrer.rb +12 -8
- data/lib/rom/sql/schema/type_builder.rb +4 -2
- data/lib/rom/sql/spec/support.rb +5 -3
- data/lib/rom/sql/tasks/migration_tasks.rake +16 -11
- data/lib/rom/sql/transaction.rb +2 -0
- data/lib/rom/sql/type_dsl.rb +2 -0
- data/lib/rom/sql/type_extensions.rb +3 -1
- data/lib/rom/sql/type_serializer.rb +2 -0
- data/lib/rom/sql/types.rb +2 -0
- data/lib/rom/sql/version.rb +3 -1
- data/lib/rom/sql/wrap.rb +2 -0
- data/lib/rom/types/values.rb +2 -0
- metadata +25 -45
data/lib/rom/sql/schema.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rom/schema'
|
2
4
|
|
3
5
|
require 'rom/sql/schema/dsl'
|
@@ -65,6 +67,18 @@ module ROM
|
|
65
67
|
new(map { |attr| attr.qualified(table_alias) })
|
66
68
|
end
|
67
69
|
|
70
|
+
# Return a new schema with attributes that are aliased
|
71
|
+
# and marked as qualified
|
72
|
+
#
|
73
|
+
# Intended to be used when passing attributes to `dataset#select`
|
74
|
+
#
|
75
|
+
# @return [Schema]
|
76
|
+
#
|
77
|
+
# @api public
|
78
|
+
def qualified_projection(table_alias = nil)
|
79
|
+
new(map { |attr| attr.qualified_projection(table_alias) })
|
80
|
+
end
|
81
|
+
|
68
82
|
# Project a schema
|
69
83
|
#
|
70
84
|
# @see ROM::Schema#project
|
@@ -127,7 +141,7 @@ module ROM
|
|
127
141
|
#
|
128
142
|
# @api public
|
129
143
|
def call(relation)
|
130
|
-
relation.new(relation.dataset.select(*self), schema: self)
|
144
|
+
relation.new(relation.dataset.select(*self.qualified_projection), schema: self)
|
131
145
|
end
|
132
146
|
|
133
147
|
# Return an empty schema
|
@@ -142,7 +156,7 @@ module ROM
|
|
142
156
|
# Finalize all attributes by qualifying them and initializing primary key names
|
143
157
|
#
|
144
158
|
# @api private
|
145
|
-
def finalize_attributes!(options
|
159
|
+
def finalize_attributes!(**options)
|
146
160
|
super do
|
147
161
|
@attributes = map(&:qualified)
|
148
162
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'dry/core/class_attributes'
|
2
4
|
|
3
5
|
module ROM
|
@@ -22,8 +24,8 @@ module ROM
|
|
22
24
|
|
23
25
|
columns = filter_columns(gateway.connection.schema(dataset))
|
24
26
|
|
25
|
-
inferred = columns.map do |
|
26
|
-
type = type_builder.(definition)
|
27
|
+
inferred = columns.map do |name, definition|
|
28
|
+
type = type_builder.(**definition)
|
27
29
|
|
28
30
|
attr_class.new(type.meta(source: schema.name), name: name) if type
|
29
31
|
end.compact
|
@@ -42,7 +44,7 @@ module ROM
|
|
42
44
|
|
43
45
|
# @api private
|
44
46
|
def filter_columns(schema)
|
45
|
-
schema.reject { |
|
47
|
+
schema.reject { |_, definition| definition[:db_type] == CONSTRAINT_DB_TYPE }
|
46
48
|
end
|
47
49
|
end
|
48
50
|
end
|
data/lib/rom/sql/schema/dsl.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rom/sql/schema/index_dsl'
|
2
4
|
|
3
5
|
module ROM
|
@@ -15,7 +17,7 @@ module ROM
|
|
15
17
|
#
|
16
18
|
# @api public
|
17
19
|
def indexes(&block)
|
18
|
-
@index_dsl = IndexDSL.new(options, &block)
|
20
|
+
@index_dsl = IndexDSL.new(**options, &block)
|
19
21
|
end
|
20
22
|
|
21
23
|
private
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'set'
|
2
4
|
|
3
5
|
module ROM
|
@@ -19,6 +21,7 @@ module ROM
|
|
19
21
|
|
20
22
|
instance_exec(&block)
|
21
23
|
end
|
24
|
+
ruby2_keywords(:initialize) if respond_to?(:ruby2_keywords, true)
|
22
25
|
|
23
26
|
# @api public
|
24
27
|
def index(*attributes, **options)
|
@@ -28,7 +31,7 @@ module ROM
|
|
28
31
|
# @api private
|
29
32
|
def call(schema_name, attrs)
|
30
33
|
attributes = attrs.map do |attr|
|
31
|
-
attr_class.new(attr[:type], attr[:options] || {}).meta(source: schema_name)
|
34
|
+
attr_class.new(attr[:type], **(attr[:options] || {})).meta(source: schema_name)
|
32
35
|
end
|
33
36
|
|
34
37
|
registry.map { |attr_names, options|
|
@@ -44,7 +47,7 @@ module ROM
|
|
44
47
|
attributes.find { |a| a.name == name }.unwrap
|
45
48
|
end
|
46
49
|
|
47
|
-
Index.new(index_attributes, options)
|
50
|
+
Index.new(index_attributes, **options)
|
48
51
|
end
|
49
52
|
end
|
50
53
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'set'
|
2
4
|
|
3
5
|
require 'rom/sql/schema/type_builder'
|
@@ -32,9 +34,9 @@ module ROM
|
|
32
34
|
# @api private
|
33
35
|
def call(schema, gateway)
|
34
36
|
if enabled?
|
35
|
-
infer_from_database(gateway, schema, super)
|
37
|
+
infer_from_database(gateway, schema, **super)
|
36
38
|
else
|
37
|
-
infer_from_attributes(gateway, schema, super)
|
39
|
+
infer_from_attributes(gateway, schema, **super)
|
38
40
|
end
|
39
41
|
rescue Sequel::Error => error
|
40
42
|
on_error(schema.name, error)
|
@@ -54,7 +56,7 @@ module ROM
|
|
54
56
|
end
|
55
57
|
|
56
58
|
# @api private
|
57
|
-
def infer_from_attributes(
|
59
|
+
def infer_from_attributes(_gateway, schema, attributes:, **rest)
|
58
60
|
indexes = schema.indexes | indexes_from_attributes(attributes)
|
59
61
|
foreign_keys = foreign_keys_from_attributes(attributes)
|
60
62
|
|
@@ -69,7 +71,8 @@ module ROM
|
|
69
71
|
if gateway.connection.respond_to?(:indexes)
|
70
72
|
dataset = schema.name.dataset
|
71
73
|
|
72
|
-
gateway.connection.indexes(dataset).map { |index_name,
|
74
|
+
gateway.connection.indexes(dataset).map { |index_name, definition|
|
75
|
+
columns, unique = definition.values_at(:columns, :unique)
|
73
76
|
attrs = columns.map { |name| attributes[name] }
|
74
77
|
|
75
78
|
SQL::Index.new(attrs, name: index_name, unique: unique)
|
@@ -83,7 +86,8 @@ module ROM
|
|
83
86
|
def foreign_keys_from_database(gateway, schema, attributes)
|
84
87
|
dataset = schema.name.dataset
|
85
88
|
|
86
|
-
gateway.connection.foreign_key_list(dataset).map { |
|
89
|
+
gateway.connection.foreign_key_list(dataset).map { |definition|
|
90
|
+
columns, table, key = definition.values_at(:columns, :table, :key)
|
87
91
|
attrs = columns.map { |name| attributes[name] }
|
88
92
|
|
89
93
|
SQL::ForeignKey.new(attrs, table, parent_keys: key)
|
@@ -147,9 +151,9 @@ module ROM
|
|
147
151
|
raise e
|
148
152
|
elsif !silent
|
149
153
|
warn "[#{dataset}] failed to infer schema. " \
|
150
|
-
|
151
|
-
|
152
|
-
|
154
|
+
'Make sure tables exist before ROM container is set up. ' \
|
155
|
+
'This may also happen when your migration tasks load ROM container, ' \
|
156
|
+
'which is not needed for migrations as only the connection is required ' \
|
153
157
|
"(#{e.message})"
|
154
158
|
end
|
155
159
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module ROM
|
2
4
|
module SQL
|
3
5
|
class Schema
|
@@ -37,9 +39,9 @@ module ROM
|
|
37
39
|
|
38
40
|
def call(primary_key:, db_type:, type:, allow_null:, **rest)
|
39
41
|
if primary_key
|
40
|
-
map_pk_type(type, db_type, rest)
|
42
|
+
map_pk_type(type, db_type, **rest)
|
41
43
|
else
|
42
|
-
mapped_type = map_type(type, db_type, rest)
|
44
|
+
mapped_type = map_type(type, db_type, **rest)
|
43
45
|
|
44
46
|
if mapped_type
|
45
47
|
read_type = mapped_type.meta[:read]
|
data/lib/rom/sql/spec/support.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
if defined? JRUBY_VERSION
|
2
4
|
USING_JRUBY = true
|
3
5
|
else
|
@@ -5,15 +7,15 @@ else
|
|
5
7
|
end
|
6
8
|
|
7
9
|
if USING_JRUBY
|
8
|
-
SEQUEL_TEST_DB_URI =
|
10
|
+
SEQUEL_TEST_DB_URI = 'jdbc:sqlite::memory:'
|
9
11
|
else
|
10
|
-
SEQUEL_TEST_DB_URI =
|
12
|
+
SEQUEL_TEST_DB_URI = 'sqlite::memory'
|
11
13
|
end
|
12
14
|
|
13
15
|
DB = Sequel.connect(SEQUEL_TEST_DB_URI)
|
14
16
|
|
15
17
|
def seed(db = DB)
|
16
|
-
db.run(
|
18
|
+
db.run('CREATE TABLE users (id INTEGER PRIMARY KEY, name STRING)')
|
17
19
|
|
18
20
|
db[:users].insert(id: 1, name: 'Jane')
|
19
21
|
db[:users].insert(id: 2, name: 'Joe')
|
@@ -1,5 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'pathname'
|
4
|
+
require 'fileutils'
|
3
5
|
|
4
6
|
module ROM
|
5
7
|
module SQL
|
@@ -27,7 +29,10 @@ module ROM
|
|
27
29
|
def gateway
|
28
30
|
if env.nil?
|
29
31
|
Gateway.instance ||
|
30
|
-
raise(
|
32
|
+
raise(
|
33
|
+
MissingEnv,
|
34
|
+
'Set up a configuration with ROM::SQL::RakeSupport.env= in the db:setup task'
|
35
|
+
)
|
31
36
|
else
|
32
37
|
env.gateways[:default]
|
33
38
|
end
|
@@ -41,36 +46,36 @@ end
|
|
41
46
|
|
42
47
|
namespace :db do
|
43
48
|
task :rom_configuration do
|
44
|
-
Rake::Task[
|
49
|
+
Rake::Task['db:setup'].invoke
|
45
50
|
end
|
46
51
|
|
47
|
-
desc
|
52
|
+
desc 'Perform migration reset (full erase and migration up)'
|
48
53
|
task reset: :rom_configuration do
|
49
54
|
ROM::SQL::RakeSupport.run_migrations(target: 0)
|
50
55
|
ROM::SQL::RakeSupport.run_migrations
|
51
|
-
puts
|
56
|
+
puts '<= db:reset executed'
|
52
57
|
end
|
53
58
|
|
54
|
-
desc
|
59
|
+
desc 'Migrate the database (options [version_number])]'
|
55
60
|
task :migrate, [:version] => :rom_configuration do |_, args|
|
56
61
|
version = args[:version]
|
57
62
|
|
58
63
|
if version.nil?
|
59
64
|
ROM::SQL::RakeSupport.run_migrations
|
60
|
-
puts
|
65
|
+
puts '<= db:migrate executed'
|
61
66
|
else
|
62
67
|
ROM::SQL::RakeSupport.run_migrations(target: version.to_i)
|
63
68
|
puts "<= db:migrate version=[#{version}] executed"
|
64
69
|
end
|
65
70
|
end
|
66
71
|
|
67
|
-
desc
|
72
|
+
desc 'Perform migration down (removes all tables)'
|
68
73
|
task clean: :rom_configuration do
|
69
74
|
ROM::SQL::RakeSupport.run_migrations(target: 0)
|
70
|
-
puts
|
75
|
+
puts '<= db:clean executed'
|
71
76
|
end
|
72
77
|
|
73
|
-
desc
|
78
|
+
desc 'Create a migration (parameters: NAME, VERSION)'
|
74
79
|
task :create_migration, [:name, :version] => :rom_configuration do |_, args|
|
75
80
|
name, version = args.values_at(:name, :version)
|
76
81
|
|
data/lib/rom/sql/transaction.rb
CHANGED
data/lib/rom/sql/type_dsl.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module ROM
|
2
4
|
module SQL
|
3
5
|
# Type-specific methods
|
@@ -7,7 +9,7 @@ module ROM
|
|
7
9
|
class << self
|
8
10
|
# Gets extensions for a type
|
9
11
|
#
|
10
|
-
# @param [Dry::Types::Type] wrapped
|
12
|
+
# @param type [Dry::Types::Type] wrapped
|
11
13
|
#
|
12
14
|
# @return [Hash]
|
13
15
|
#
|
data/lib/rom/sql/types.rb
CHANGED
data/lib/rom/sql/version.rb
CHANGED
data/lib/rom/sql/wrap.rb
CHANGED
data/lib/rom/types/values.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rom-sql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Solnica
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sequel
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4.49'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: dry-equalizer
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.2'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.2'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: dry-types
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,48 +44,40 @@ dependencies:
|
|
58
44
|
requirements:
|
59
45
|
- - "~>"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
47
|
+
version: '0.5'
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0.5'
|
62
51
|
type: :runtime
|
63
52
|
prerelease: false
|
64
53
|
version_requirements: !ruby/object:Gem::Requirement
|
65
54
|
requirements:
|
66
55
|
- - "~>"
|
67
56
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0.
|
57
|
+
version: '0.5'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.5'
|
69
61
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: rom
|
62
|
+
name: rom
|
71
63
|
requirement: !ruby/object:Gem::Requirement
|
72
64
|
requirements:
|
73
65
|
- - "~>"
|
74
66
|
- !ruby/object:Gem::Version
|
75
|
-
version: '5.
|
67
|
+
version: '5.2'
|
76
68
|
- - ">="
|
77
69
|
- !ruby/object:Gem::Version
|
78
|
-
version: 5.
|
70
|
+
version: 5.2.1
|
79
71
|
type: :runtime
|
80
72
|
prerelease: false
|
81
73
|
version_requirements: !ruby/object:Gem::Requirement
|
82
74
|
requirements:
|
83
75
|
- - "~>"
|
84
76
|
- !ruby/object:Gem::Version
|
85
|
-
version: '5.
|
86
|
-
- - ">="
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: 5.0.1
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: appraisal
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
77
|
+
version: '5.2'
|
100
78
|
- - ">="
|
101
79
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
80
|
+
version: 5.2.1
|
103
81
|
- !ruby/object:Gem::Dependency
|
104
82
|
name: bundler
|
105
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,28 +98,28 @@ dependencies:
|
|
120
98
|
requirements:
|
121
99
|
- - "~>"
|
122
100
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
101
|
+
version: '13.0'
|
124
102
|
type: :development
|
125
103
|
prerelease: false
|
126
104
|
version_requirements: !ruby/object:Gem::Requirement
|
127
105
|
requirements:
|
128
106
|
- - "~>"
|
129
107
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
108
|
+
version: '13.0'
|
131
109
|
- !ruby/object:Gem::Dependency
|
132
110
|
name: rspec
|
133
111
|
requirement: !ruby/object:Gem::Requirement
|
134
112
|
requirements:
|
135
113
|
- - "~>"
|
136
114
|
- !ruby/object:Gem::Version
|
137
|
-
version: '3.
|
115
|
+
version: '3.9'
|
138
116
|
type: :development
|
139
117
|
prerelease: false
|
140
118
|
version_requirements: !ruby/object:Gem::Requirement
|
141
119
|
requirements:
|
142
120
|
- - "~>"
|
143
121
|
- !ruby/object:Gem::Version
|
144
|
-
version: '3.
|
122
|
+
version: '3.9'
|
145
123
|
description: SQL databases support for ROM
|
146
124
|
email:
|
147
125
|
- piotr.solnica@gmail.com
|
@@ -156,6 +134,8 @@ files:
|
|
156
134
|
- lib/rom/plugins/relation/sql/auto_restrictions.rb
|
157
135
|
- lib/rom/plugins/relation/sql/instrumentation.rb
|
158
136
|
- lib/rom/plugins/relation/sql/postgres/explain.rb
|
137
|
+
- lib/rom/plugins/relation/sql/postgres/full_text_search.rb
|
138
|
+
- lib/rom/plugins/relation/sql/postgres/streaming.rb
|
159
139
|
- lib/rom/sql.rb
|
160
140
|
- lib/rom/sql/associations.rb
|
161
141
|
- lib/rom/sql/associations/core.rb
|
@@ -246,7 +226,7 @@ metadata:
|
|
246
226
|
documentation_uri: https://api.rom-rb.org/rom-sql/
|
247
227
|
mailing_list_uri: https://discourse.rom-rb.org/
|
248
228
|
bug_tracker_uri: https://github.com/rom-rb/rom-sql/issues
|
249
|
-
post_install_message:
|
229
|
+
post_install_message:
|
250
230
|
rdoc_options: []
|
251
231
|
require_paths:
|
252
232
|
- lib
|
@@ -261,8 +241,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
241
|
- !ruby/object:Gem::Version
|
262
242
|
version: '0'
|
263
243
|
requirements: []
|
264
|
-
rubygems_version: 3.
|
265
|
-
signing_key:
|
244
|
+
rubygems_version: 3.2.3
|
245
|
+
signing_key:
|
266
246
|
specification_version: 4
|
267
247
|
summary: SQL databases support for ROM
|
268
248
|
test_files: []
|