torque-postgresql 2.2.1 → 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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/torque/postgresql/adapter/database_statements.rb +12 -1
  3. data/lib/torque/postgresql/adapter/oid/enum_set.rb +1 -1
  4. data/lib/torque/postgresql/adapter/oid.rb +0 -3
  5. data/lib/torque/postgresql/adapter/quoting.rb +14 -19
  6. data/lib/torque/postgresql/adapter/schema_creation.rb +1 -2
  7. data/lib/torque/postgresql/adapter/schema_definitions.rb +0 -37
  8. data/lib/torque/postgresql/adapter/schema_dumper.rb +0 -40
  9. data/lib/torque/postgresql/adapter/schema_statements.rb +0 -15
  10. data/lib/torque/postgresql/adapter.rb +0 -9
  11. data/lib/torque/postgresql/associations/belongs_to_many_association.rb +5 -3
  12. data/lib/torque/postgresql/associations/{association.rb → foreign_association.rb} +1 -4
  13. data/lib/torque/postgresql/associations/preloader/association.rb +53 -26
  14. data/lib/torque/postgresql/associations/preloader/loader_query.rb +36 -0
  15. data/lib/torque/postgresql/associations/preloader.rb +1 -0
  16. data/lib/torque/postgresql/associations.rb +6 -1
  17. data/lib/torque/postgresql/attributes/builder/period.rb +6 -2
  18. data/lib/torque/postgresql/config.rb +2 -11
  19. data/lib/torque/postgresql/reflection/abstract_reflection.rb +5 -7
  20. data/lib/torque/postgresql/relation.rb +10 -12
  21. data/lib/torque/postgresql/schema_cache.rb +2 -1
  22. data/lib/torque/postgresql/version.rb +1 -1
  23. data/lib/torque-postgresql.rb +0 -1
  24. data/spec/models/question_select.rb +2 -0
  25. data/spec/schema.rb +147 -147
  26. data/spec/spec_helper.rb +7 -6
  27. data/spec/tests/arel_spec.rb +29 -7
  28. data/spec/tests/belongs_to_many_spec.rb +14 -0
  29. data/spec/tests/enum_set_spec.rb +7 -5
  30. data/spec/tests/enum_spec.rb +1 -84
  31. data/spec/tests/interval_spec.rb +2 -1
  32. metadata +49 -57
  33. data/lib/torque/range.rb +0 -20
  34. data/spec/tests/range_spec.rb +0 -36
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: torque-postgresql
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
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: 2021-11-25 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
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: '7.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '6.0'
26
+ version: '7.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pg
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -124,40 +124,34 @@ dependencies:
124
124
  requirements:
125
125
  - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: '5.0'
127
+ version: '6.2'
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: 5.0.2
130
+ version: 6.2.1
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '5.0'
137
+ version: '6.2'
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
- version: 5.0.2
140
+ version: 6.2.1
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: faker
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: '1.5'
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- version: 1.5.0
147
+ version: '2.20'
151
148
  type: :development
152
149
  prerelease: false
153
150
  version_requirements: !ruby/object:Gem::Requirement
154
151
  requirements:
155
152
  - - "~>"
156
153
  - !ruby/object:Gem::Version
157
- version: '1.5'
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: 1.5.0
154
+ version: '2.20'
161
155
  description: Add support to complex resources of PostgreSQL, like data types, array
162
156
  associations, and auxiliary statements (CTE)
163
157
  email:
@@ -195,14 +189,15 @@ files:
195
189
  - lib/torque/postgresql/arel/select_manager.rb
196
190
  - lib/torque/postgresql/arel/visitors.rb
197
191
  - lib/torque/postgresql/associations.rb
198
- - lib/torque/postgresql/associations/association.rb
199
192
  - lib/torque/postgresql/associations/association_scope.rb
200
193
  - lib/torque/postgresql/associations/belongs_to_many_association.rb
201
194
  - lib/torque/postgresql/associations/builder.rb
202
195
  - lib/torque/postgresql/associations/builder/belongs_to_many.rb
203
196
  - lib/torque/postgresql/associations/builder/has_many.rb
197
+ - lib/torque/postgresql/associations/foreign_association.rb
204
198
  - lib/torque/postgresql/associations/preloader.rb
205
199
  - lib/torque/postgresql/associations/preloader/association.rb
200
+ - lib/torque/postgresql/associations/preloader/loader_query.rb
206
201
  - lib/torque/postgresql/attributes.rb
207
202
  - lib/torque/postgresql/attributes/builder.rb
208
203
  - lib/torque/postgresql/attributes/builder/enum.rb
@@ -238,7 +233,6 @@ files:
238
233
  - lib/torque/postgresql/relation/merger.rb
239
234
  - lib/torque/postgresql/schema_cache.rb
240
235
  - lib/torque/postgresql/version.rb
241
- - lib/torque/range.rb
242
236
  - spec/en.yml
243
237
  - spec/factories/authors.rb
244
238
  - spec/factories/comments.rb
@@ -285,14 +279,13 @@ files:
285
279
  - spec/tests/lazy_spec.rb
286
280
  - spec/tests/period_spec.rb
287
281
  - spec/tests/quoting_spec.rb
288
- - spec/tests/range_spec.rb
289
282
  - spec/tests/relation_spec.rb
290
283
  - spec/tests/table_inheritance_spec.rb
291
284
  homepage: https://github.com/crashtech/torque-postgresql
292
285
  licenses:
293
286
  - MIT
294
287
  metadata: {}
295
- post_install_message:
288
+ post_install_message:
296
289
  rdoc_options: []
297
290
  require_paths:
298
291
  - lib
@@ -300,64 +293,63 @@ required_ruby_version: !ruby/object:Gem::Requirement
300
293
  requirements:
301
294
  - - ">="
302
295
  - !ruby/object:Gem::Version
303
- version: 2.5.0
296
+ version: 2.7.2
304
297
  required_rubygems_version: !ruby/object:Gem::Requirement
305
298
  requirements:
306
299
  - - ">="
307
300
  - !ruby/object:Gem::Version
308
301
  version: 1.8.11
309
302
  requirements: []
310
- rubygems_version: 3.2.14
311
- signing_key:
303
+ rubygems_version: 3.2.15
304
+ signing_key:
312
305
  specification_version: 4
313
306
  summary: ActiveRecord extension to access PostgreSQL advanced resources
314
307
  test_files:
315
- - spec/models/activity_post/sample.rb
308
+ - spec/en.yml
309
+ - spec/factories/authors.rb
310
+ - spec/factories/comments.rb
311
+ - spec/factories/item.rb
312
+ - spec/factories/posts.rb
313
+ - spec/factories/tags.rb
314
+ - spec/factories/texts.rb
315
+ - spec/factories/users.rb
316
+ - spec/factories/videos.rb
317
+ - spec/mocks/cache_query.rb
318
+ - spec/mocks/create_table.rb
316
319
  - spec/models/activity.rb
320
+ - spec/models/activity_book.rb
321
+ - spec/models/activity_post/sample.rb
322
+ - spec/models/activity_post.rb
317
323
  - spec/models/author.rb
318
324
  - spec/models/author_journalist.rb
319
325
  - spec/models/comment.rb
320
326
  - spec/models/course.rb
321
- - spec/models/post.rb
322
- - spec/models/text.rb
323
- - spec/models/user.rb
324
- - spec/models/activity_book.rb
325
- - spec/models/activity_post.rb
326
327
  - spec/models/geometry.rb
327
328
  - spec/models/guest_comment.rb
328
- - spec/models/tag.rb
329
- - spec/models/time_keeper.rb
330
- - spec/models/video.rb
331
329
  - spec/models/item.rb
330
+ - spec/models/post.rb
332
331
  - spec/models/question.rb
333
332
  - spec/models/question_select.rb
334
- - spec/factories/authors.rb
335
- - spec/factories/comments.rb
336
- - spec/factories/posts.rb
337
- - spec/factories/tags.rb
338
- - spec/factories/texts.rb
339
- - spec/factories/users.rb
340
- - spec/factories/videos.rb
341
- - spec/factories/item.rb
342
- - spec/tests/geometric_builder_spec.rb
343
- - spec/tests/enum_spec.rb
344
- - spec/tests/range_spec.rb
345
- - spec/tests/table_inheritance_spec.rb
346
- - spec/tests/collector_spec.rb
347
- - spec/tests/distinct_on_spec.rb
348
- - spec/tests/interval_spec.rb
349
- - spec/tests/lazy_spec.rb
350
- - spec/tests/quoting_spec.rb
351
- - spec/tests/relation_spec.rb
333
+ - spec/models/tag.rb
334
+ - spec/models/text.rb
335
+ - spec/models/time_keeper.rb
336
+ - spec/models/user.rb
337
+ - spec/models/video.rb
338
+ - spec/schema.rb
339
+ - spec/spec_helper.rb
340
+ - spec/tests/arel_spec.rb
352
341
  - spec/tests/auxiliary_statement_spec.rb
353
342
  - spec/tests/belongs_to_many_spec.rb
343
+ - spec/tests/collector_spec.rb
344
+ - spec/tests/distinct_on_spec.rb
354
345
  - spec/tests/enum_set_spec.rb
346
+ - spec/tests/enum_spec.rb
347
+ - spec/tests/geometric_builder_spec.rb
355
348
  - spec/tests/has_many_spec.rb
356
349
  - spec/tests/insert_all_spec.rb
357
- - spec/tests/arel_spec.rb
350
+ - spec/tests/interval_spec.rb
351
+ - spec/tests/lazy_spec.rb
358
352
  - spec/tests/period_spec.rb
359
- - spec/mocks/cache_query.rb
360
- - spec/mocks/create_table.rb
361
- - spec/en.yml
362
- - spec/spec_helper.rb
363
- - spec/schema.rb
353
+ - spec/tests/quoting_spec.rb
354
+ - spec/tests/relation_spec.rb
355
+ - spec/tests/table_inheritance_spec.rb
data/lib/torque/range.rb DELETED
@@ -1,20 +0,0 @@
1
- module Torque
2
- module Range
3
- def intersection(other)
4
- raise ArgumentError, 'value must be a Range' unless other.kind_of?(Range)
5
-
6
- new_min = self.cover?(other.min) ? other.min : other.cover?(min) ? min : nil
7
- new_max = self.cover?(other.max) ? other.max : other.cover?(max) ? max : nil
8
-
9
- new_min && new_max ? new_min..new_max : nil
10
- end
11
- alias_method :&, :intersection
12
-
13
- def union(other)
14
- raise ArgumentError, 'value must be a Range' unless other.kind_of?(Range)
15
-
16
- ([min, other.min].min)..([max, other.max].max)
17
- end
18
- alias_method :|, :union
19
- end
20
- end
@@ -1,36 +0,0 @@
1
- require 'spec_helper'
2
-
3
- RSpec.xdescribe 'Range' do
4
- let(:sample) { (5..15) }
5
-
6
- it 'has intersection' do
7
- expect { sample.intersection(10) }.to raise_error(ArgumentError, /Range/)
8
-
9
- result = sample & (10..15)
10
- expect(result).to be_a(Range)
11
- expect(result.min).to be_eql(10)
12
- expect(result.max).to be_eql(15)
13
-
14
- result = sample & (15..20)
15
- expect(result).to be_a(Range)
16
- expect(result.min).to be_eql(15)
17
- expect(result.max).to be_eql(15)
18
-
19
- result = sample & (0..10)
20
- expect(result).to be_a(Range)
21
- expect(result.min).to be_eql(5)
22
- expect(result.max).to be_eql(10)
23
-
24
- result = sample & (-10..0)
25
- expect(result).to be_nil
26
- end
27
-
28
- it 'has union' do
29
- expect { sample.union(10) }.to raise_error(ArgumentError, /Range/)
30
-
31
- result = sample | (0..10)
32
- expect(result).to be_a(Range)
33
- expect(result.min).to be_eql(0)
34
- expect(result.max).to be_eql(15)
35
- end
36
- end