postgres_with 2.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8409fb5b221c7a249a1adbf85b061eb5891f026564428ba10ffa081281611c90
4
- data.tar.gz: 41d699850f0d02e70147007d605e8b791186313e393e161012121e2a98eb26fb
3
+ metadata.gz: b501852be5081b6ecee9e02f9acfa8117daaf3c41b3b80adcfa890bdb89684d6
4
+ data.tar.gz: 3d96bd9e0c9c260188c98448ce39a803d2a8cd4f8773c58d10887046611f50a9
5
5
  SHA512:
6
- metadata.gz: e82d755b9e450e56495a3cae357aa2614c6408849924db5cc80c208c417da4505fdf6b2a429470cafc6fb10165a46c7b12b7069c0d83e0f84826b326c4354e19
7
- data.tar.gz: bb72286a14385f7f4c2da6bf1f631c6167d82ec36c35b7d15f9babcd1eee4364fe9a0b6a710adc844e7f8a5308715e7eca9dc3fcc5af2aff6c76522d4a432a72
6
+ metadata.gz: 6931ede70fc5f17be0bc510e09bb331c45f92057c2305d73411dcc55f9166bb22aeebdb2648763b6254f5bf1eeec5ceb1feba84c9e6b06fcc89e482c8117cf87
7
+ data.tar.gz: 1097366d74ad84680de6c40984bebeca11a569b59ce2c3bf220cb3eb10600ea88d0757964736f81e1aa8337f4e58b35fd1237f29eea8ed11e94de0b9d2a29c43
@@ -6,6 +6,31 @@ module Arel
6
6
  collector << " AS MATERIALIZED "
7
7
  visit o.right, collector
8
8
  end
9
+
10
+ def collect_ctes(children, collector)
11
+ children.each_with_index do |child, i|
12
+ collector << ", " unless i == 0
13
+
14
+ case child
15
+ when Arel::Nodes::As, Arel::Nodes::AsMaterialized
16
+ name = child.left.name
17
+ relation = child.right
18
+ when Arel::Nodes::TableAlias
19
+ name = child.name
20
+ relation = child.relation
21
+ end
22
+
23
+ collector << quote_table_name(name)
24
+ if child.class == Arel::Nodes::AsMaterialized
25
+ collector << " AS MATERIALIZED "
26
+ else
27
+ collector << " AS "
28
+ end
29
+ visit relation, collector
30
+ end
31
+
32
+ collector
33
+ end
9
34
  end
10
35
  end
11
36
  end
@@ -1,3 +1,2 @@
1
- require 'postgres_with/arel/visitors/depth_first'
2
1
  require 'postgres_with/arel/visitors/dot'
3
2
  require 'postgres_with/arel/visitors/to_sql'
@@ -1,3 +1,3 @@
1
1
  module PostgresWith
2
- VERSION = '2.0.0'
2
+ VERSION = '3.0.1'
3
3
  end
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = PostgresWith::VERSION
17
17
 
18
- gem.add_dependency 'activerecord', '>= 6.0'
18
+ gem.add_dependency 'activerecord', '>= 6.1'
19
19
 
20
20
  gem.add_development_dependency 'pg', '>= 0.13'
21
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postgres_with
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derrick Neier
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-12 00:00:00.000000000 Z
11
+ date: 2023-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: '6.1'
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: '6.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pg
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,6 @@ files:
59
59
  - lib/postgres_with/arel/nodes.rb
60
60
  - lib/postgres_with/arel/nodes/as_materialized.rb
61
61
  - lib/postgres_with/arel/visitors.rb
62
- - lib/postgres_with/arel/visitors/depth_first.rb
63
62
  - lib/postgres_with/arel/visitors/dot.rb
64
63
  - lib/postgres_with/arel/visitors/to_sql.rb
65
64
  - lib/postgres_with/version.rb
@@ -68,7 +67,7 @@ homepage: https://github.com/dneier/postgres_with
68
67
  licenses:
69
68
  - MIT
70
69
  metadata: {}
71
- post_install_message:
70
+ post_install_message:
72
71
  rdoc_options: []
73
72
  require_paths:
74
73
  - lib
@@ -83,8 +82,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
82
  - !ruby/object:Gem::Version
84
83
  version: '0'
85
84
  requirements: []
86
- rubygems_version: 3.0.3
87
- signing_key:
85
+ rubygems_version: 3.1.6
86
+ signing_key:
88
87
  specification_version: 4
89
88
  summary: Extends ActiveRecord to handle PostgreSQL CTEs
90
89
  test_files: []
@@ -1,7 +0,0 @@
1
- module Arel
2
- module Visitors
3
- class DepthFirst < Arel::Visitors::Visitor
4
- alias :visit_Arel_Nodes_AsMaterialized :binary
5
- end
6
- end
7
- end