torque-postgresql 2.2.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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