torque-postgresql 2.4.4 → 3.0.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +0 -17
  3. data/lib/torque/postgresql/adapter/database_statements.rb +32 -74
  4. data/lib/torque/postgresql/adapter/oid/enum_set.rb +1 -1
  5. data/lib/torque/postgresql/adapter/oid.rb +0 -3
  6. data/lib/torque/postgresql/adapter/quoting.rb +12 -20
  7. data/lib/torque/postgresql/adapter/schema_creation.rb +1 -2
  8. data/lib/torque/postgresql/adapter/schema_definitions.rb +0 -37
  9. data/lib/torque/postgresql/adapter/schema_dumper.rb +2 -60
  10. data/lib/torque/postgresql/adapter/schema_statements.rb +2 -74
  11. data/lib/torque/postgresql/adapter.rb +2 -11
  12. data/lib/torque/postgresql/associations/belongs_to_many_association.rb +7 -6
  13. data/lib/torque/postgresql/associations/{association.rb → foreign_association.rb} +1 -4
  14. data/lib/torque/postgresql/associations/preloader/association.rb +53 -26
  15. data/lib/torque/postgresql/associations/preloader/loader_query.rb +36 -0
  16. data/lib/torque/postgresql/associations/preloader.rb +1 -0
  17. data/lib/torque/postgresql/associations.rb +6 -1
  18. data/lib/torque/postgresql/attributes/builder/period.rb +6 -2
  19. data/lib/torque/postgresql/auxiliary_statement/settings.rb +22 -75
  20. data/lib/torque/postgresql/auxiliary_statement.rb +40 -39
  21. data/lib/torque/postgresql/base.rb +13 -33
  22. data/lib/torque/postgresql/config.rb +3 -30
  23. data/lib/torque/postgresql/inheritance.rb +1 -3
  24. data/lib/torque/postgresql/migration/command_recorder.rb +2 -12
  25. data/lib/torque/postgresql/railtie.rb +1 -5
  26. data/lib/torque/postgresql/reflection/abstract_reflection.rb +44 -20
  27. data/lib/torque/postgresql/reflection/belongs_to_many_reflection.rb +2 -2
  28. data/lib/torque/postgresql/relation/auxiliary_statement.rb +15 -28
  29. data/lib/torque/postgresql/relation.rb +10 -12
  30. data/lib/torque/postgresql/schema_cache.rb +2 -7
  31. data/lib/torque/postgresql/version.rb +1 -1
  32. data/lib/torque/postgresql.rb +1 -2
  33. data/lib/torque-postgresql.rb +0 -1
  34. data/spec/schema.rb +14 -30
  35. data/spec/spec_helper.rb +1 -2
  36. data/spec/tests/arel_spec.rb +2 -4
  37. data/spec/tests/auxiliary_statement_spec.rb +35 -374
  38. data/spec/tests/belongs_to_many_spec.rb +2 -99
  39. data/spec/tests/distinct_on_spec.rb +1 -1
  40. data/spec/tests/enum_set_spec.rb +10 -10
  41. data/spec/tests/enum_spec.rb +0 -90
  42. data/spec/tests/has_many_spec.rb +0 -46
  43. data/spec/tests/relation_spec.rb +1 -1
  44. data/spec/tests/table_inheritance_spec.rb +15 -11
  45. metadata +11 -37
  46. data/lib/torque/postgresql/auxiliary_statement/recursive.rb +0 -149
  47. data/lib/torque/postgresql/table_name.rb +0 -41
  48. data/lib/torque/range.rb +0 -22
  49. data/spec/models/category.rb +0 -2
  50. data/spec/models/internal/user.rb +0 -5
  51. data/spec/tests/range_spec.rb +0 -36
  52. data/spec/tests/schema_spec.rb +0 -134
@@ -20,14 +20,6 @@ RSpec.describe 'BelongsToMany' do
20
20
 
21
21
  model.belongs_to_many(:tests)
22
22
  end
23
-
24
- it 'allows setting up foreign key and primary_key as symbol' do
25
- model.belongs_to_many(:tests, foreign_key: :test_ids, primary_key: :test_id)
26
-
27
- reflection = model._reflections['tests']
28
- expect(reflection.foreign_key).to be_eql('test_ids')
29
- expect(reflection.active_record_primary_key).to be_eql('test_id')
30
- end
31
23
  end
32
24
 
33
25
  context 'on association' do
@@ -352,7 +344,8 @@ RSpec.describe 'BelongsToMany' do
352
344
  subject.tags.concat(records)
353
345
 
354
346
  entries = Video.all
355
- ActiveRecord::Associations::Preloader.new.preload(entries, :tags, Tag.all)
347
+ arguments = { records: entries, associations: :tags, available_records: Tag.all.to_a }
348
+ ActiveRecord::Associations::Preloader.new(**arguments).call
356
349
  entries = entries.load
357
350
 
358
351
  expect(entries.size).to be_eql(1)
@@ -400,94 +393,4 @@ RSpec.describe 'BelongsToMany' do
400
393
  end
401
394
  end
402
395
  end
403
-
404
- context 'using uuid' do
405
- let(:connection) { ActiveRecord::Base.connection }
406
- let(:game) { Class.new(ActiveRecord::Base) }
407
- let(:player) { Class.new(ActiveRecord::Base) }
408
- let(:other) { player.create }
409
-
410
- # TODO: Set as a shred example
411
- before do
412
- connection.create_table(:players, id: :uuid) { |t| t.string :name }
413
- connection.create_table(:games, id: :uuid) { |t| t.uuid :player_ids, array: true }
414
-
415
- options = { anonymous_class: player, foreign_key: :player_ids }
416
- options[:inverse_of] = false if Torque::PostgreSQL::AR610
417
-
418
- game.table_name = 'games'
419
- player.table_name = 'players'
420
- game.belongs_to_many :players, **options
421
- end
422
-
423
- subject { game.create }
424
-
425
- it 'loads associated records' do
426
- subject.update(player_ids: [other.id])
427
- expect(subject.players.to_sql).to be_eql(<<-SQL.squish)
428
- SELECT "players".* FROM "players" WHERE "players"."id" IN ('#{other.id}')
429
- SQL
430
-
431
- expect(subject.players.load).to be_a(ActiveRecord::Associations::CollectionProxy)
432
- expect(subject.players.to_a).to be_eql([other])
433
- end
434
-
435
- it 'can preload records' do
436
- records = 5.times.map { player.create }
437
- subject.players.concat(records)
438
-
439
- entries = game.all.includes(:players).load
440
-
441
- expect(entries.size).to be_eql(1)
442
- expect(entries.first.players).to be_loaded
443
- expect(entries.first.players.size).to be_eql(5)
444
- end
445
-
446
- it 'can joins records' do
447
- query = game.all.joins(:players)
448
- expect(query.to_sql).to match(/INNER JOIN "players"/)
449
- expect { query.load }.not_to raise_error
450
- end
451
- end
452
-
453
- context 'using custom keys' do
454
- let(:connection) { ActiveRecord::Base.connection }
455
- let(:post) { Post }
456
- let(:tag) { Tag }
457
- let(:tags) { %w[a b c].map { |id| create(:tag, friendly_id: id) } }
458
-
459
- subject { create(:post) }
460
-
461
- before do
462
- connection.add_column(:tags, :friendly_id, :string)
463
- connection.add_column(:posts, :friendly_tag_ids, :string, array: true)
464
- post.belongs_to_many(:tags, foreign_key: :friendly_tag_ids, primary_key: :friendly_id)
465
- post.reset_column_information
466
- tag.reset_column_information
467
- end
468
-
469
- after do
470
- tag.reset_column_information
471
- post.reset_column_information
472
- post._reflections.delete(:tags)
473
- end
474
-
475
- it 'loads associated records' do
476
- subject.update(friendly_tag_ids: tags.pluck(:friendly_id))
477
-
478
- expect(subject.tags.to_sql).to be_eql(<<-SQL.squish)
479
- SELECT "tags".* FROM "tags" WHERE "tags"."friendly_id" IN ('a', 'b', 'c')
480
- SQL
481
-
482
- expect(subject.tags.load).to be_a(ActiveRecord::Associations::CollectionProxy)
483
- expect(subject.tags.to_a).to be_eql(tags)
484
- end
485
-
486
- it 'can properly assign tags' do
487
- expect(subject.friendly_tag_ids).to be_blank
488
-
489
- subject.tags = tags
490
- expect(subject.friendly_tag_ids).to be_eql(%w[a b c])
491
- end
492
- end
493
396
  end
@@ -40,7 +40,7 @@ RSpec.describe 'DistinctOn' do
40
40
  end
41
41
 
42
42
  it 'raises with invalid relation' do
43
- expect { subject.distinct_on(supervisors: :name).to_sql }.to \
43
+ expect { subject.distinct_on(tags: :name).to_sql }.to \
44
44
  raise_error(ArgumentError, /Relation for/)
45
45
  end
46
46
 
@@ -31,7 +31,8 @@ RSpec.describe 'Enum' do
31
31
  it 'can be defined as an array' do
32
32
  subject.enum(:content_status, array: true, enum_type: :content_status)
33
33
  expect(subject['content_status'].name).to be_eql('content_status')
34
- expect(subject['content_status'].type).to be_eql(:content_status)
34
+ expect(subject['content_status'].type).to be_eql(:enum)
35
+ expect(subject['content_status'].options[:enum_type]).to be_eql(:content_status)
35
36
 
36
37
  array = subject['content_status'].respond_to?(:options) \
37
38
  ? subject['content_status'].options[:array] \
@@ -42,19 +43,18 @@ RSpec.describe 'Enum' do
42
43
  end
43
44
 
44
45
  context 'on schema' do
45
- let(:dump_result) do
46
- ActiveRecord::SchemaDumper.dump(connection, (dump_result = StringIO.new))
47
- dump_result.string
48
- end
49
-
50
46
  it 'can be used on tables' do
51
- checker = /t\.enum +"conflicts", +array: true, +enum_type: :conflicts/
52
- expect(dump_result).to match checker
47
+ dump_io = StringIO.new
48
+ checker = /t\.enum +"conflicts", +array: true, +enum_type: "conflicts"/
49
+ ActiveRecord::SchemaDumper.dump(connection, dump_io)
50
+ expect(dump_io.string).to match checker
53
51
  end
54
52
 
55
53
  xit 'can have a default value as an array of symbols' do
56
- checker = /t\.enum +"types", +default: \[:A, :B\], +array: true, +enum_type: :types/
57
- expect(dump_result).to match checker
54
+ dump_io = StringIO.new
55
+ checker = /t\.enum +"types", +default: \[:A, :B\], +array: true, +enum_type: "types"/
56
+ ActiveRecord::SchemaDumper.dump(connection, dump_io)
57
+ expect(dump_io.string).to match checker
58
58
  end
59
59
  end
60
60
 
@@ -26,12 +26,6 @@ RSpec.describe 'Enum' do
26
26
  end
27
27
 
28
28
  context 'on migration' do
29
- it 'can be created' do
30
- connection.create_enum(:status, %i(foo bar))
31
- expect(connection.type_exists?(:status)).to be_truthy
32
- expect(connection.enum_values(:status)).to be_eql(['foo', 'bar'])
33
- end
34
-
35
29
  it 'can be deleted' do
36
30
  connection.create_enum(:status, %i(foo bar))
37
31
  expect(connection.type_exists?(:status)).to be_truthy
@@ -46,16 +40,6 @@ RSpec.describe 'Enum' do
46
40
  expect(connection.type_exists?(:status)).to be_truthy
47
41
  end
48
42
 
49
- it 'can have prefix' do
50
- connection.create_enum(:status, %i(foo bar), prefix: true)
51
- expect(connection.enum_values(:status)).to be_eql(['status_foo', 'status_bar'])
52
- end
53
-
54
- it 'can have suffix' do
55
- connection.create_enum(:status, %i(foo bar), suffix: 'tst')
56
- expect(connection.enum_values(:status)).to be_eql(['foo_tst', 'bar_tst'])
57
- end
58
-
59
43
  it 'inserts values at the end' do
60
44
  connection.create_enum(:status, %i(foo bar))
61
45
  connection.add_enum_values(:status, %i(baz qux))
@@ -85,80 +69,6 @@ RSpec.describe 'Enum' do
85
69
  end
86
70
  end
87
71
 
88
- context 'on table definition' do
89
- subject { table_definition.new(connection, 'articles') }
90
-
91
- it 'has the enum method' do
92
- expect(subject).to respond_to(:enum)
93
- end
94
-
95
- it 'can be used in a single form' do
96
- subject.enum('content_status')
97
- expect(subject['content_status'].name).to be_eql('content_status')
98
- expect(subject['content_status'].type).to be_eql(:content_status)
99
- end
100
-
101
- it 'can be used in a multiple form' do
102
- subject.enum('foo', 'bar', 'baz', enum_type: :content_status)
103
- expect(subject['foo'].type).to be_eql(:content_status)
104
- expect(subject['bar'].type).to be_eql(:content_status)
105
- expect(subject['baz'].type).to be_eql(:content_status)
106
- end
107
-
108
- it 'can have custom type' do
109
- subject.enum('foo', enum_type: :content_status)
110
- expect(subject['foo'].name).to be_eql('foo')
111
- expect(subject['foo'].type).to be_eql(:content_status)
112
- end
113
-
114
- it 'can use the deprecated subtype option' do
115
- subject.enum('foo', subtype: :content_status)
116
- expect(subject['foo'].name).to be_eql('foo')
117
- expect(subject['foo'].type).to be_eql(:content_status)
118
- end
119
-
120
- it 'raises StatementInvalid when type isn\'t defined' do
121
- subject.enum('foo')
122
- creation = connection.send(:schema_creation).accept subject
123
- expect{ connection.execute creation }.to raise_error(ActiveRecord::StatementInvalid)
124
- end
125
- end
126
-
127
- context 'on schema' do
128
- it 'dumps when has it' do
129
- dump_io = StringIO.new
130
- ActiveRecord::SchemaDumper.dump(connection, dump_io)
131
- expect(dump_io.string).to match /create_enum \"content_status\", \[/
132
- end
133
-
134
- it 'sorts the enum entries to better consistency' do
135
- dump_io = StringIO.new
136
- ActiveRecord::SchemaDumper.dump(connection, dump_io)
137
- items = dump_io.string.scan(/create_enum "(\w+)"/).flatten
138
- expect(items).to be_eql(items.sort)
139
- end
140
-
141
- it 'do not dump when has none' do
142
- connection.drop_type(:content_status, force: :cascade)
143
-
144
- dump_io = StringIO.new
145
- ActiveRecord::SchemaDumper.dump(connection, dump_io)
146
- expect(dump_io.string).not_to match /create_enum \"content_status\", \[/
147
- end
148
-
149
- it 'can be used on tables too' do
150
- dump_io = StringIO.new
151
- ActiveRecord::SchemaDumper.dump(connection, dump_io)
152
- expect(dump_io.string).to match /t\.enum +"status", +enum_type: :content_status/
153
- end
154
-
155
- it 'can have a default value as symbol' do
156
- dump_io = StringIO.new
157
- ActiveRecord::SchemaDumper.dump(connection, dump_io)
158
- expect(dump_io.string).to match /t\.enum +"role", +default: :visitor, +enum_type: :roles/
159
- end
160
- end
161
-
162
72
  context 'on value' do
163
73
  subject { Enum::ContentStatus }
164
74
  let(:values) { %w(created draft published archived) }
@@ -411,50 +411,4 @@ RSpec.describe 'HasMany' do
411
411
  expect { query.load }.not_to raise_error
412
412
  end
413
413
  end
414
-
415
- context 'using uuid' do
416
- let(:connection) { ActiveRecord::Base.connection }
417
- let(:game) { Class.new(ActiveRecord::Base) }
418
- let(:player) { Class.new(ActiveRecord::Base) }
419
-
420
- # TODO: Set as a shred example
421
- before do
422
- connection.create_table(:players, id: :uuid) { |t| t.string :name }
423
- connection.create_table(:games, id: :uuid) { |t| t.uuid :player_ids, array: true }
424
-
425
- options = { anonymous_class: game, foreign_key: :player_ids }
426
- options[:inverse_of] = false if Torque::PostgreSQL::AR610
427
-
428
- game.table_name = 'games'
429
- player.table_name = 'players'
430
- player.has_many :games, array: true, **options
431
- end
432
-
433
- subject { player.create }
434
-
435
- it 'loads associated records' do
436
- expect(subject.games.to_sql).to match(Regexp.new(<<-SQL.squish))
437
- SELECT "games"\\.\\* FROM "games"
438
- WHERE \\(?"games"\\."player_ids" && ARRAY\\['#{subject.id}'\\]::uuid\\[\\]\\)?
439
- SQL
440
-
441
- expect(subject.games.load).to be_a(ActiveRecord::Associations::CollectionProxy)
442
- expect(subject.games.to_a).to be_eql([])
443
- end
444
-
445
- it 'can preload records' do
446
- 5.times { game.create(player_ids: [subject.id]) }
447
- entries = player.all.includes(:games).load
448
-
449
- expect(entries.size).to be_eql(1)
450
- expect(entries.first.games).to be_loaded
451
- expect(entries.first.games.size).to be_eql(5)
452
- end
453
-
454
- it 'can joins records' do
455
- query = player.all.joins(:games)
456
- expect(query.to_sql).to match(/INNER JOIN "games"/)
457
- expect { query.load }.not_to raise_error
458
- end
459
- end
460
414
  end
@@ -44,7 +44,7 @@ RSpec.describe 'Relation', type: :helper do
44
44
  end
45
45
 
46
46
  it 'raises on relation not present' do
47
- check = [supervisors: :name]
47
+ check = [tags: :name]
48
48
  expect{ subject.call(check) }.to raise_error(ArgumentError, /Relation for/)
49
49
  end
50
50
 
@@ -73,33 +73,37 @@ RSpec.describe 'TableInheritance' do
73
73
  end
74
74
 
75
75
  context 'on schema' do
76
- let(:dump_result) do
77
- ActiveRecord::SchemaDumper.dump(connection, (dump_result = StringIO.new))
78
- dump_result.string
79
- end
80
-
81
76
  it 'dumps single inheritance with body' do
77
+ dump_io = StringIO.new
78
+ ActiveRecord::SchemaDumper.dump(connection, dump_io)
79
+
82
80
  parts = '"activity_books"'
83
81
  parts << ', id: false'
84
82
  parts << ', force: :cascade'
85
- parts << ', inherits: "activities"'
86
- expect(dump_result).to match(/create_table #{parts} do /)
83
+ parts << ', inherits: :activities'
84
+ expect(dump_io.string).to match(/create_table #{parts} do /)
87
85
  end
88
86
 
89
87
  it 'dumps single inheritance without body' do
88
+ dump_io = StringIO.new
89
+ ActiveRecord::SchemaDumper.dump(connection, dump_io)
90
+
90
91
  parts = '"activity_post_samples"'
91
92
  parts << ', id: false'
92
93
  parts << ', force: :cascade'
93
- parts << ', inherits: "activity_posts"'
94
- expect(dump_result).to match(/create_table #{parts}(?! do \|t\|)/)
94
+ parts << ', inherits: :activity_posts'
95
+ expect(dump_io.string).to match(/create_table #{parts}(?! do \|t\|)/)
95
96
  end
96
97
 
97
98
  it 'dumps multiple inheritance' do
99
+ dump_io = StringIO.new
100
+ ActiveRecord::SchemaDumper.dump(connection, dump_io)
101
+
98
102
  parts = '"activity_posts"'
99
103
  parts << ', id: false'
100
104
  parts << ', force: :cascade'
101
- parts << ', inherits: (\["images", "activities"\]|\["activities", "images"\])'
102
- expect(dump_result).to match(/create_table #{parts}/)
105
+ parts << ', inherits: (\[:images, :activities\]|\[:activities, :images\])'
106
+ expect(dump_io.string).to match(/create_table #{parts}/)
103
107
  end
104
108
  end
105
109
 
metadata CHANGED
@@ -1,23 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: torque-postgresql
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.4
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Silva
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-21 00:00:00.000000000 Z
11
+ date: 2022-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '6.0'
20
- - - "<"
21
18
  - !ruby/object:Gem::Version
22
19
  version: '7.0'
23
20
  type: :runtime
@@ -25,9 +22,6 @@ dependencies:
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '6.0'
30
- - - "<"
31
25
  - !ruby/object:Gem::Version
32
26
  version: '7.0'
33
27
  - !ruby/object:Gem::Dependency
@@ -134,9 +128,6 @@ dependencies:
134
128
  - - ">="
135
129
  - !ruby/object:Gem::Version
136
130
  version: 6.2.1
137
- - - "<"
138
- - !ruby/object:Gem::Version
139
- version: '6.4'
140
131
  type: :development
141
132
  prerelease: false
142
133
  version_requirements: !ruby/object:Gem::Requirement
@@ -147,9 +138,6 @@ dependencies:
147
138
  - - ">="
148
139
  - !ruby/object:Gem::Version
149
140
  version: 6.2.1
150
- - - "<"
151
- - !ruby/object:Gem::Version
152
- version: '6.4'
153
141
  - !ruby/object:Gem::Dependency
154
142
  name: faker
155
143
  requirement: !ruby/object:Gem::Requirement
@@ -167,7 +155,7 @@ dependencies:
167
155
  description: Add support to complex resources of PostgreSQL, like data types, array
168
156
  associations, and auxiliary statements (CTE)
169
157
  email:
170
- - me@carlosfsilva.com
158
+ - carlinhus.fsilva@gmail.com
171
159
  executables: []
172
160
  extensions: []
173
161
  extra_rdoc_files: []
@@ -201,14 +189,15 @@ files:
201
189
  - lib/torque/postgresql/arel/select_manager.rb
202
190
  - lib/torque/postgresql/arel/visitors.rb
203
191
  - lib/torque/postgresql/associations.rb
204
- - lib/torque/postgresql/associations/association.rb
205
192
  - lib/torque/postgresql/associations/association_scope.rb
206
193
  - lib/torque/postgresql/associations/belongs_to_many_association.rb
207
194
  - lib/torque/postgresql/associations/builder.rb
208
195
  - lib/torque/postgresql/associations/builder/belongs_to_many.rb
209
196
  - lib/torque/postgresql/associations/builder/has_many.rb
197
+ - lib/torque/postgresql/associations/foreign_association.rb
210
198
  - lib/torque/postgresql/associations/preloader.rb
211
199
  - lib/torque/postgresql/associations/preloader/association.rb
200
+ - lib/torque/postgresql/associations/preloader/loader_query.rb
212
201
  - lib/torque/postgresql/attributes.rb
213
202
  - lib/torque/postgresql/attributes/builder.rb
214
203
  - lib/torque/postgresql/attributes/builder/enum.rb
@@ -219,7 +208,6 @@ files:
219
208
  - lib/torque/postgresql/attributes/period.rb
220
209
  - lib/torque/postgresql/autosave_association.rb
221
210
  - lib/torque/postgresql/auxiliary_statement.rb
222
- - lib/torque/postgresql/auxiliary_statement/recursive.rb
223
211
  - lib/torque/postgresql/auxiliary_statement/settings.rb
224
212
  - lib/torque/postgresql/base.rb
225
213
  - lib/torque/postgresql/collector.rb
@@ -244,9 +232,7 @@ files:
244
232
  - lib/torque/postgresql/relation/inheritance.rb
245
233
  - lib/torque/postgresql/relation/merger.rb
246
234
  - lib/torque/postgresql/schema_cache.rb
247
- - lib/torque/postgresql/table_name.rb
248
235
  - lib/torque/postgresql/version.rb
249
- - lib/torque/range.rb
250
236
  - spec/en.yml
251
237
  - spec/factories/authors.rb
252
238
  - spec/factories/comments.rb
@@ -264,12 +250,10 @@ files:
264
250
  - spec/models/activity_post/sample.rb
265
251
  - spec/models/author.rb
266
252
  - spec/models/author_journalist.rb
267
- - spec/models/category.rb
268
253
  - spec/models/comment.rb
269
254
  - spec/models/course.rb
270
255
  - spec/models/geometry.rb
271
256
  - spec/models/guest_comment.rb
272
- - spec/models/internal/user.rb
273
257
  - spec/models/item.rb
274
258
  - spec/models/post.rb
275
259
  - spec/models/question.rb
@@ -295,27 +279,21 @@ files:
295
279
  - spec/tests/lazy_spec.rb
296
280
  - spec/tests/period_spec.rb
297
281
  - spec/tests/quoting_spec.rb
298
- - spec/tests/range_spec.rb
299
282
  - spec/tests/relation_spec.rb
300
- - spec/tests/schema_spec.rb
301
283
  - spec/tests/table_inheritance_spec.rb
302
284
  homepage: https://github.com/crashtech/torque-postgresql
303
285
  licenses:
304
286
  - MIT
305
- metadata:
306
- source_code_uri: https://github.com/crashtech/torque-postgresql
307
- bug_tracker_uri: https://github.com/crashtech/torque-postgresql/issues
308
- post_install_message:
309
- rdoc_options:
310
- - "--title"
311
- - Torque PostgreSQL
287
+ metadata: {}
288
+ post_install_message:
289
+ rdoc_options: []
312
290
  require_paths:
313
291
  - lib
314
292
  required_ruby_version: !ruby/object:Gem::Requirement
315
293
  requirements:
316
294
  - - ">="
317
295
  - !ruby/object:Gem::Version
318
- version: '2.6'
296
+ version: 2.7.2
319
297
  required_rubygems_version: !ruby/object:Gem::Requirement
320
298
  requirements:
321
299
  - - ">="
@@ -323,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
323
301
  version: 1.8.11
324
302
  requirements: []
325
303
  rubygems_version: 3.2.15
326
- signing_key:
304
+ signing_key:
327
305
  specification_version: 4
328
306
  summary: ActiveRecord extension to access PostgreSQL advanced resources
329
307
  test_files:
@@ -344,12 +322,10 @@ test_files:
344
322
  - spec/models/activity_post.rb
345
323
  - spec/models/author.rb
346
324
  - spec/models/author_journalist.rb
347
- - spec/models/category.rb
348
325
  - spec/models/comment.rb
349
326
  - spec/models/course.rb
350
327
  - spec/models/geometry.rb
351
328
  - spec/models/guest_comment.rb
352
- - spec/models/internal/user.rb
353
329
  - spec/models/item.rb
354
330
  - spec/models/post.rb
355
331
  - spec/models/question.rb
@@ -375,7 +351,5 @@ test_files:
375
351
  - spec/tests/lazy_spec.rb
376
352
  - spec/tests/period_spec.rb
377
353
  - spec/tests/quoting_spec.rb
378
- - spec/tests/range_spec.rb
379
354
  - spec/tests/relation_spec.rb
380
- - spec/tests/schema_spec.rb
381
355
  - spec/tests/table_inheritance_spec.rb