torque-postgresql 2.4.4 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +0 -17
- data/lib/torque/postgresql/adapter/database_statements.rb +32 -74
- data/lib/torque/postgresql/adapter/oid/enum_set.rb +1 -1
- data/lib/torque/postgresql/adapter/oid.rb +0 -3
- data/lib/torque/postgresql/adapter/quoting.rb +12 -20
- data/lib/torque/postgresql/adapter/schema_creation.rb +1 -2
- data/lib/torque/postgresql/adapter/schema_definitions.rb +0 -37
- data/lib/torque/postgresql/adapter/schema_dumper.rb +2 -60
- data/lib/torque/postgresql/adapter/schema_statements.rb +2 -74
- data/lib/torque/postgresql/adapter.rb +2 -11
- data/lib/torque/postgresql/associations/belongs_to_many_association.rb +7 -6
- data/lib/torque/postgresql/associations/{association.rb → foreign_association.rb} +1 -4
- data/lib/torque/postgresql/associations/preloader/association.rb +53 -26
- data/lib/torque/postgresql/associations/preloader/loader_query.rb +36 -0
- data/lib/torque/postgresql/associations/preloader.rb +1 -0
- data/lib/torque/postgresql/associations.rb +6 -1
- data/lib/torque/postgresql/attributes/builder/period.rb +6 -2
- data/lib/torque/postgresql/auxiliary_statement/settings.rb +22 -75
- data/lib/torque/postgresql/auxiliary_statement.rb +40 -39
- data/lib/torque/postgresql/base.rb +13 -33
- data/lib/torque/postgresql/config.rb +3 -30
- data/lib/torque/postgresql/inheritance.rb +1 -3
- data/lib/torque/postgresql/migration/command_recorder.rb +2 -12
- data/lib/torque/postgresql/railtie.rb +1 -5
- data/lib/torque/postgresql/reflection/abstract_reflection.rb +44 -20
- data/lib/torque/postgresql/reflection/belongs_to_many_reflection.rb +2 -2
- data/lib/torque/postgresql/relation/auxiliary_statement.rb +15 -28
- data/lib/torque/postgresql/relation.rb +10 -12
- data/lib/torque/postgresql/schema_cache.rb +2 -7
- data/lib/torque/postgresql/version.rb +1 -1
- data/lib/torque/postgresql.rb +1 -2
- data/lib/torque-postgresql.rb +0 -1
- data/spec/schema.rb +14 -30
- data/spec/spec_helper.rb +1 -2
- data/spec/tests/arel_spec.rb +2 -4
- data/spec/tests/auxiliary_statement_spec.rb +35 -374
- data/spec/tests/belongs_to_many_spec.rb +2 -99
- data/spec/tests/distinct_on_spec.rb +1 -1
- data/spec/tests/enum_set_spec.rb +10 -10
- data/spec/tests/enum_spec.rb +0 -90
- data/spec/tests/has_many_spec.rb +0 -46
- data/spec/tests/relation_spec.rb +1 -1
- data/spec/tests/table_inheritance_spec.rb +15 -11
- metadata +11 -37
- data/lib/torque/postgresql/auxiliary_statement/recursive.rb +0 -149
- data/lib/torque/postgresql/table_name.rb +0 -41
- data/lib/torque/range.rb +0 -22
- data/spec/models/category.rb +0 -2
- data/spec/models/internal/user.rb +0 -5
- data/spec/tests/range_spec.rb +0 -36
- 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
|
-
|
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(
|
43
|
+
expect { subject.distinct_on(tags: :name).to_sql }.to \
|
44
44
|
raise_error(ArgumentError, /Relation for/)
|
45
45
|
end
|
46
46
|
|
data/spec/tests/enum_set_spec.rb
CHANGED
@@ -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(:
|
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
|
-
|
52
|
-
|
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
|
-
|
57
|
-
|
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
|
|
data/spec/tests/enum_spec.rb
CHANGED
@@ -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) }
|
data/spec/tests/has_many_spec.rb
CHANGED
@@ -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
|
data/spec/tests/relation_spec.rb
CHANGED
@@ -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:
|
86
|
-
expect(
|
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:
|
94
|
-
expect(
|
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: (\[
|
102
|
-
expect(
|
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:
|
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:
|
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
|
-
-
|
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
|
-
|
307
|
-
|
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:
|
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
|