activerecord-hierarchical_query 1.2.3 → 1.4.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: '08cdf36d6fb182dd4b149bfd278ce346b775f707b81759801cd29b2e2e413eb3'
4
- data.tar.gz: 05a716bc7921c28157eef8ea8f894a0b27fdfb84275c755ac7e3e5637c6e8dd0
3
+ metadata.gz: e751ad55c26d0da2510def0fd67cfe0d3dd60bf9e9ea15eb7c3a58726df5a922
4
+ data.tar.gz: f80cb2fea417232d291ae3a87a20ee6a5242dc754bb805dc1f7db8a6ea52fcc4
5
5
  SHA512:
6
- metadata.gz: 714bdb7948f223ccfdb8f3a7c7b8188bd8b972a2c63bdbe35c0a5857970d806b3876e7ea7a539b7790866ca5e8e985d20080cff7162a6e927b2ebaa1b274bd3a
7
- data.tar.gz: 281f8ec47b4bbeec77ea2931130a1707997cd3f190b0242e63c6ef7d5096d6e1f4d9df6590beff9b9a029741a3d4e55ede05dcc6535bd80dc0c30406dd077676
6
+ metadata.gz: 950ae38c829408a25d015fffb6f46124ab93c3b82c125d78ee5fe463ceef76006ee7462c7d26f9260c970566d3c0971992796b27405e51991b42a841f76a2e11
7
+ data.tar.gz: 6b9a29abbf9dc44dde4021b80f3bc240b13f83672d80147a17e59ddb2f44306453577c288f3d7e7b3a93e09873761efef777a0bf704cf6b0f1a7d69dd5857bb0
data/README.md CHANGED
@@ -13,21 +13,13 @@ in hierarchical order using hierarchical query builder.
13
13
 
14
14
  ## Requirements
15
15
 
16
- - ActiveRecord >= 5.0, < 6.1
16
+ - ActiveRecord >= 5.0, < 7.1
17
17
  - PostgreSQL >= 8.4
18
- - Postgres Gem >= 0.21, < 1.2
18
+ - Postgres Gem >= 0.21, < 1.4
19
19
 
20
20
  Note that though PostgresSQL 8.4 and up should work, this library
21
21
  is tested on PostgresSQL 10.5.
22
22
 
23
- ### Rails Version
24
-
25
- **Rails 4 support has ended.**
26
-
27
- If you have trouble with Rails 5.1 or 5.0, try upgrading to Rails 5.2
28
- first. Rails 6 should work, but please report issues immediately as
29
- support is recent.
30
-
31
23
  ## In a nutshell
32
24
 
33
25
  ### Traverse trees
@@ -1,5 +1,3 @@
1
- require 'arel/visitors/depth_first'
2
-
3
1
  module ActiveRecord
4
2
  module HierarchicalQuery
5
3
  module CTE
@@ -18,7 +16,23 @@ module ActiveRecord
18
16
 
19
17
  private
20
18
  def connect_by_columns
21
- @query.join_conditions.grep(Arel::Attributes::Attribute) { |column| column.name.to_s }
19
+ columns = []
20
+ traverse(@query.join_conditions) do |node|
21
+ columns << node.name.to_s if node.is_a?(Arel::Attributes::Attribute)
22
+ end
23
+ columns
24
+ end
25
+
26
+ def traverse(ast, &blck)
27
+ if ast && ast.respond_to?(:left) && ast.left
28
+ traverse(ast.left, &blck)
29
+ end
30
+
31
+ if ast && ast.respond_to?(:right) && ast.right
32
+ traverse(ast.right, &blck)
33
+ end
34
+
35
+ yield ast
22
36
  end
23
37
  end
24
38
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module HierarchicalQuery
3
- VERSION = '1.2.3'
3
+ VERSION = '1.4.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-hierarchical_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexei Mikhailov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-01-03 00:00:00.000000000 Z
12
+ date: 2022-02-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -20,7 +20,7 @@ dependencies:
20
20
  version: '5.0'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '6.1'
23
+ version: '7.1'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,7 +30,7 @@ dependencies:
30
30
  version: '5.0'
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '6.1'
33
+ version: '7.1'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: pg
36
36
  requirement: !ruby/object:Gem::Requirement
@@ -40,7 +40,7 @@ dependencies:
40
40
  version: '0.21'
41
41
  - - "<"
42
42
  - !ruby/object:Gem::Version
43
- version: '1.3'
43
+ version: '1.4'
44
44
  type: :runtime
45
45
  prerelease: false
46
46
  version_requirements: !ruby/object:Gem::Requirement
@@ -50,19 +50,19 @@ dependencies:
50
50
  version: '0.21'
51
51
  - - "<"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.3'
53
+ version: '1.4'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: bundler
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: '1.16'
61
61
  type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1.16'
68
68
  - !ruby/object:Gem::Dependency
@@ -85,14 +85,14 @@ dependencies:
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '3.8'
88
+ version: '3.10'
89
89
  type: :development
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.8'
95
+ version: '3.10'
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: database_cleaner
98
98
  requirement: !ruby/object:Gem::Requirement
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  - !ruby/object:Gem::Version
170
170
  version: '0'
171
171
  requirements: []
172
- rubygems_version: 3.0.6
172
+ rubygems_version: 3.2.22
173
173
  signing_key:
174
174
  specification_version: 4
175
175
  summary: Recursively traverse trees using a single SQL query