parentry 0.4.0 → 0.5.0

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
  SHA1:
3
- metadata.gz: 338c1bb54b4ba0d2899eb63fc7c3c91c7188c5f7
4
- data.tar.gz: c2f19d677f76b94aa37e5990ecd5de3202574501
3
+ metadata.gz: d72a63d23c7ea716a1e48b987809b5604b986cc5
4
+ data.tar.gz: bad7908ccd887716a2a509f41db27f140e696afd
5
5
  SHA512:
6
- metadata.gz: 1364062a29ed0bbd53a57ca25067f0db06deda7ab6fe3fbcc0b787583a92e8ec2be6a5cc9026d594de6331efae0883f7795c4a421d5024a7aaf39e6fc0b713f3
7
- data.tar.gz: 0f5aeda294cb23768a2df88e9f63b64d707acdca9edc5bc037b9ead5edec3ed19f3257082ddfa5c3d2df5cbd1c06ef4df37896766acb7395a8767b792e5e67d5
6
+ metadata.gz: d2bfbe9735c5b918030c0d88738b01de8280c82c9fd68a9ba726f49f746252c1994ab5a8c6830761b1b354d4343ad572b503aed30c4f29d6e37294d00a32ddb7
7
+ data.tar.gz: 01ea72bc0c644edfd75a46164f69a2fddd10df2e7c89420463fd5a8bee83c795457a4b0e8ced1a89fd729750b546229215ed8dfdcc65fef853aff12212f628ca
data/.gitignore CHANGED
@@ -1,4 +1,4 @@
1
- /.bundle/
1
+ .bundle/
2
2
  /.yardoc
3
3
  /Gemfile.lock
4
4
  /_yardoc/
@@ -10,3 +10,5 @@
10
10
  .idea
11
11
  .ruby-gemset
12
12
  .ruby-version
13
+ /vendor/
14
+ /spec/internal/log/*
@@ -1,4 +1,11 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
3
+ - 2.2.5
4
+ - 2.3.4
5
+ - 2.4.1
6
+ env:
7
+ - STRATEGY=array
8
+ - STRATEGY=ltree
9
+ gemfile:
10
+ - gemfiles/activerecord_5.0.gemfile
4
11
  before_install: gem install bundler -v 1.10.6
@@ -0,0 +1,3 @@
1
+ appraise 'activerecord-5.0' do
2
+ gem 'activerecord', '~> 5.0'
3
+ end
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in parentry.gemspec
4
4
  gemspec
5
+
6
+ gem 'appraisal'
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Build Status](https://travis-ci.org/hasghari/parentry.svg?branch=master)](https://travis-ci.org/hasghari/parentry)
2
+
1
3
  # Parentry
2
4
 
3
5
  Parentry in its current incarnation is an ActiveRecord extension for the [PostgreSQL ltree](http://www.postgresql.org/docs/9.4/static/ltree.html) module.
data/Rakefile CHANGED
@@ -1,3 +1,6 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
1
4
  require 'bundler/gem_tasks'
2
5
  require 'rspec/core/rake_task'
3
6
 
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal"
6
+ gem "activerecord", "~> 5.0"
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,117 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ parentry (0.5.0)
5
+ activerecord (~> 5.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actionpack (5.0.6)
11
+ actionview (= 5.0.6)
12
+ activesupport (= 5.0.6)
13
+ rack (~> 2.0)
14
+ rack-test (~> 0.6.3)
15
+ rails-dom-testing (~> 2.0)
16
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
17
+ actionview (5.0.6)
18
+ activesupport (= 5.0.6)
19
+ builder (~> 3.1)
20
+ erubis (~> 2.7.0)
21
+ rails-dom-testing (~> 2.0)
22
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
23
+ activemodel (5.0.6)
24
+ activesupport (= 5.0.6)
25
+ activerecord (5.0.6)
26
+ activemodel (= 5.0.6)
27
+ activesupport (= 5.0.6)
28
+ arel (~> 7.0)
29
+ activesupport (5.0.6)
30
+ concurrent-ruby (~> 1.0, >= 1.0.2)
31
+ i18n (~> 0.7)
32
+ minitest (~> 5.1)
33
+ tzinfo (~> 1.1)
34
+ appraisal (2.2.0)
35
+ bundler
36
+ rake
37
+ thor (>= 0.14.0)
38
+ arel (7.1.4)
39
+ builder (3.2.3)
40
+ coderay (1.1.2)
41
+ combustion (0.9.0)
42
+ activesupport (>= 3.0.0)
43
+ railties (>= 3.0.0)
44
+ thor (>= 0.14.6)
45
+ concurrent-ruby (1.0.5)
46
+ crass (1.0.3)
47
+ database_cleaner (1.6.2)
48
+ diff-lcs (1.3)
49
+ erubis (2.7.0)
50
+ i18n (0.9.5)
51
+ concurrent-ruby (~> 1.0)
52
+ loofah (2.2.2)
53
+ crass (~> 1.0.2)
54
+ nokogiri (>= 1.5.9)
55
+ method_source (0.9.0)
56
+ mini_portile2 (2.3.0)
57
+ minitest (5.11.3)
58
+ nokogiri (1.8.2)
59
+ mini_portile2 (~> 2.3.0)
60
+ pg (0.21.0)
61
+ pry (0.11.3)
62
+ coderay (~> 1.1.0)
63
+ method_source (~> 0.9.0)
64
+ rack (2.0.4)
65
+ rack-test (0.6.3)
66
+ rack (>= 1.0)
67
+ rails-dom-testing (2.0.3)
68
+ activesupport (>= 4.2.0)
69
+ nokogiri (>= 1.6)
70
+ rails-html-sanitizer (1.0.4)
71
+ loofah (~> 2.2, >= 2.2.2)
72
+ railties (5.0.6)
73
+ actionpack (= 5.0.6)
74
+ activesupport (= 5.0.6)
75
+ method_source
76
+ rake (>= 0.8.7)
77
+ thor (>= 0.18.1, < 2.0)
78
+ rake (10.5.0)
79
+ rspec-core (3.7.1)
80
+ rspec-support (~> 3.7.0)
81
+ rspec-expectations (3.7.0)
82
+ diff-lcs (>= 1.2.0, < 2.0)
83
+ rspec-support (~> 3.7.0)
84
+ rspec-mocks (3.7.0)
85
+ diff-lcs (>= 1.2.0, < 2.0)
86
+ rspec-support (~> 3.7.0)
87
+ rspec-rails (3.7.2)
88
+ actionpack (>= 3.0)
89
+ activesupport (>= 3.0)
90
+ railties (>= 3.0)
91
+ rspec-core (~> 3.7.0)
92
+ rspec-expectations (~> 3.7.0)
93
+ rspec-mocks (~> 3.7.0)
94
+ rspec-support (~> 3.7.0)
95
+ rspec-support (3.7.1)
96
+ thor (0.20.0)
97
+ thread_safe (0.3.6)
98
+ tzinfo (1.2.5)
99
+ thread_safe (~> 0.1)
100
+
101
+ PLATFORMS
102
+ ruby
103
+
104
+ DEPENDENCIES
105
+ activerecord (~> 5.0)
106
+ appraisal
107
+ bundler (~> 1.10)
108
+ combustion (= 0.9.0)
109
+ database_cleaner (~> 1.6)
110
+ parentry!
111
+ pg (~> 0.21)
112
+ pry (~> 0.10)
113
+ rake (~> 10.0)
114
+ rspec-rails (~> 3.7)
115
+
116
+ BUNDLED WITH
117
+ 1.14.6
@@ -1,4 +1,5 @@
1
1
  require 'parentry/version'
2
+ require 'parentry/strategy'
2
3
 
3
4
  module Parentry
4
5
  autoload :InstanceMethods, 'parentry/instance_methods'
@@ -7,9 +8,9 @@ module Parentry
7
8
 
8
9
  def self.included(base)
9
10
  base.class_eval do
10
- mattr_accessor :parentry_column, :depth_offset, :cache_depth, :touch_ancestors
11
+ mattr_accessor :parentry_strategy, :parentry_column, :depth_offset, :cache_depth, :touch_ancestors
11
12
 
12
- belongs_to :parent, class_name: base_class.name
13
+ belongs_to :parent, class_name: base_class.name, optional: true
13
14
  has_many :children, class_name: base_class.name, foreign_key: :parent_id, dependent: :destroy
14
15
 
15
16
  validate do
@@ -31,19 +32,19 @@ module Parentry
31
32
  after_touch :touch_ancestors_callback
32
33
  after_destroy :touch_ancestors_callback
33
34
 
34
- scope :order_by_parentry, -> { order("nlevel(#{parentry_column})") }
35
+ scope :order_by_parentry, -> { order(parentry_depth_function) }
35
36
 
36
- scope :before_depth, ->(depth) { where("nlevel(#{parentry_column}) - 1 < ?", depth + depth_offset) }
37
- scope :to_depth, ->(depth) { where("nlevel(#{parentry_column}) - 1 <= ?", depth + depth_offset) }
38
- scope :at_depth, ->(depth) { where("nlevel(#{parentry_column}) - 1 = ?", depth + depth_offset) }
39
- scope :from_depth, ->(depth) { where("nlevel(#{parentry_column}) - 1 >= ?", depth + depth_offset) }
40
- scope :after_depth, ->(depth) { where("nlevel(#{parentry_column}) - 1 > ?", depth + depth_offset) }
37
+ scope :before_depth, ->(depth) { where("#{parentry_depth_function} - 1 < ?", depth + depth_offset) }
38
+ scope :to_depth, ->(depth) { where("#{parentry_depth_function} - 1 <= ?", depth + depth_offset) }
39
+ scope :at_depth, ->(depth) { where("#{parentry_depth_function} - 1 = ?", depth + depth_offset) }
40
+ scope :from_depth, ->(depth) { where("#{parentry_depth_function} - 1 >= ?", depth + depth_offset) }
41
+ scope :after_depth, ->(depth) { where("#{parentry_depth_function} - 1 > ?", depth + depth_offset) }
41
42
 
42
- scope :roots, -> { where("nlevel(#{parentry_column}) = 1") }
43
- scope :ancestors_of, ->(node) { where("#{parentry_column} @> ?", node.parentry).where.not(id: node.id) }
43
+ scope :roots, -> { where("#{parentry_depth_function} = 1") }
44
+ scope :ancestors_of, ->(node) { where(node.ancestor_conditions).where.not(id: node.id) }
44
45
  scope :children_of, ->(node) { where(parent_id: node.id) }
45
46
  scope :descendants_of, ->(node) { subtree_of(node).where.not(id: node.id) }
46
- scope :subtree_of, ->(node) { where("#{parentry_column} <@ ?", node.parentry) }
47
+ scope :subtree_of, ->(node) { where(node.subtree_conditions) }
47
48
  scope :siblings_of, ->(node) { where(parent_id: node.parent_id).where.not(id: node.id) }
48
49
  end
49
50
 
@@ -1,10 +1,14 @@
1
1
  module Parentry
2
2
  module ClassMethods
3
3
  def parentry(options = {})
4
+ self.parentry_strategy = options.fetch(:strategy, 'ltree').to_s
4
5
  self.parentry_column = options.fetch(:parentry_column, 'parentry')
5
6
  self.depth_offset = options.fetch(:depth_offset, 0)
6
7
  self.cache_depth = options.fetch(:cache_depth, false)
7
8
  self.touch_ancestors = options.fetch(:touch, false)
9
+
10
+ include Strategy::Ltree if parentry_strategy == 'ltree'
11
+ include Strategy::Array if parentry_strategy == 'array'
8
12
  end
9
13
 
10
14
  def arrange(options = {})
@@ -21,30 +21,10 @@ module Parentry
21
21
  write_attribute(:parentry_depth, depth)
22
22
  end
23
23
 
24
- def cascade_parentry
25
- old_path, new_path = changes[parentry_column]
26
- parentry_scope.where(
27
- ["#{parentry_column} <@ :ltree AND id != :id", ltree: old_path, id: id]
28
- ).update_all(
29
- [
30
- "#{parentry_column} = :new_path || subpath(#{parentry_column}, nlevel(:old_path))",
31
- new_path: new_path, old_path: old_path
32
- ]
33
- )
34
- end
35
-
36
- def compute_parentry
37
- parent.present? ? "#{parent.parentry}.#{id}" : "#{id}"
38
- end
39
-
40
24
  def parentry
41
25
  read_attribute(parentry_column)
42
26
  end
43
27
 
44
- def parse_parentry(input = parentry)
45
- input.to_s.split('.').map(&:to_i)
46
- end
47
-
48
28
  def touch_ancestors_callback
49
29
  return unless touch_ancestors
50
30
  return if touch_callbacks_disabled?
@@ -63,7 +63,7 @@ module Parentry
63
63
 
64
64
  def subtree(scopes = {})
65
65
  with_depth_scopes(scopes) do
66
- parentry_scope.where("#{parentry_column} <@ ?", parentry)
66
+ parentry_scope.where(subtree_conditions)
67
67
  end
68
68
  end
69
69
 
@@ -0,0 +1,6 @@
1
+ module Parentry
2
+ module Strategy
3
+ autoload :Ltree, 'parentry/strategy/ltree'
4
+ autoload :Array, 'parentry/strategy/array'
5
+ end
6
+ end
@@ -0,0 +1,13 @@
1
+ module Parentry
2
+ module Strategy
3
+ module Array
4
+ autoload :InstanceMethods, 'parentry/strategy/array/instance_methods'
5
+ autoload :ClassMethods, 'parentry/strategy/array/class_methods'
6
+
7
+ def self.included(base)
8
+ base.send :include, InstanceMethods
9
+ base.extend ClassMethods
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ module Parentry
2
+ module Strategy
3
+ module Array
4
+ module ClassMethods
5
+ def parentry_depth_function
6
+ "array_length(#{parentry_column}, 1)"
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,36 @@
1
+ module Parentry
2
+ module Strategy
3
+ module Array
4
+ module InstanceMethods
5
+ def parse_parentry(input = parentry)
6
+ input
7
+ end
8
+
9
+ def compute_parentry
10
+ return [] unless persisted?
11
+ parent.present? ? parent.parentry + [id] : [id]
12
+ end
13
+
14
+ def cascade_parentry
15
+ old_path, new_path = changes[parentry_column]
16
+ parentry_scope.where(
17
+ ["#{parentry_column} @> ARRAY[:tree] AND id != :id", tree: old_path, id: id]
18
+ ).update_all(
19
+ [
20
+ "#{parentry_column} = array_cat(ARRAY[?], #{parentry_column}[?:array_length(#{parentry_column}, 1)])",
21
+ new_path, old_path.size + 1
22
+ ]
23
+ )
24
+ end
25
+
26
+ def subtree_conditions
27
+ ["#{parentry_column} @> ARRAY[?]", parentry]
28
+ end
29
+
30
+ def ancestor_conditions
31
+ ["#{parentry_column} <@ ARRAY[?]", parentry]
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,13 @@
1
+ module Parentry
2
+ module Strategy
3
+ module Ltree
4
+ autoload :InstanceMethods, 'parentry/strategy/ltree/instance_methods'
5
+ autoload :ClassMethods, 'parentry/strategy/ltree/class_methods'
6
+
7
+ def self.included(base)
8
+ base.send :include, InstanceMethods
9
+ base.extend ClassMethods
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ module Parentry
2
+ module Strategy
3
+ module Ltree
4
+ module ClassMethods
5
+ def parentry_depth_function
6
+ "nlevel(#{parentry_column})"
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,35 @@
1
+ module Parentry
2
+ module Strategy
3
+ module Ltree
4
+ module InstanceMethods
5
+ def parse_parentry(input = parentry)
6
+ input.to_s.split('.').map(&:to_i)
7
+ end
8
+
9
+ def compute_parentry
10
+ parent.present? ? "#{parent.parentry}.#{id}" : "#{id}"
11
+ end
12
+
13
+ def cascade_parentry
14
+ old_path, new_path = changes[parentry_column]
15
+ parentry_scope.where(
16
+ ["#{parentry_column} <@ :tree AND id != :id", tree: old_path, id: id]
17
+ ).update_all(
18
+ [
19
+ "#{parentry_column} = :new_path || subpath(#{parentry_column}, nlevel(:old_path))",
20
+ new_path: new_path, old_path: old_path
21
+ ]
22
+ )
23
+ end
24
+
25
+ def subtree_conditions
26
+ ["#{parentry_column} <@ ?", parentry]
27
+ end
28
+
29
+ def ancestor_conditions
30
+ ["#{parentry_column} @> ?", parentry]
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Parentry
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
@@ -16,13 +16,13 @@ Gem::Specification.new do |spec|
16
16
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  spec.require_paths = ['lib']
18
18
 
19
- spec.add_dependency 'activerecord', '>= 3.1.0'
19
+ spec.add_dependency 'activerecord', '~> 5.0'
20
20
 
21
21
  spec.add_development_dependency 'bundler', '~> 1.10'
22
22
  spec.add_development_dependency 'rake', '~> 10.0'
23
- spec.add_development_dependency 'rspec-rails'
24
- spec.add_development_dependency 'pg'
25
- spec.add_development_dependency 'combustion', '>= 0.5.2'
26
- spec.add_development_dependency 'database_cleaner'
27
- spec.add_development_dependency 'pry'
23
+ spec.add_development_dependency 'rspec-rails', '~> 3.7'
24
+ spec.add_development_dependency 'pg', '~> 0.21'
25
+ spec.add_development_dependency 'combustion', '0.9.0'
26
+ spec.add_development_dependency 'database_cleaner', '~> 1.6'
27
+ spec.add_development_dependency 'pry', '~> 0.10'
28
28
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parentry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hamed Asghari
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-19 00:00:00.000000000 Z
11
+ date: 2018-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.1.0
19
+ version: '5.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: 3.1.0
26
+ version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -56,72 +56,72 @@ dependencies:
56
56
  name: rspec-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '3.7'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '3.7'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pg
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '0.21'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '0.21'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: combustion
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 0.5.2
89
+ version: 0.9.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 0.5.2
96
+ version: 0.9.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: database_cleaner
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '1.6'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '1.6'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pry
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '0.10'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '0.10'
125
125
  description:
126
126
  email:
127
127
  - hasghari@gmail.com
@@ -132,6 +132,7 @@ files:
132
132
  - ".gitignore"
133
133
  - ".rspec"
134
134
  - ".travis.yml"
135
+ - Appraisals
135
136
  - CODE_OF_CONDUCT.md
136
137
  - Gemfile
137
138
  - LICENSE.txt
@@ -139,10 +140,19 @@ files:
139
140
  - Rakefile
140
141
  - bin/console
141
142
  - bin/setup
143
+ - gemfiles/activerecord_5.0.gemfile
144
+ - gemfiles/activerecord_5.0.gemfile.lock
142
145
  - lib/parentry.rb
143
146
  - lib/parentry/class_methods.rb
144
147
  - lib/parentry/instance_methods.rb
145
148
  - lib/parentry/navigation.rb
149
+ - lib/parentry/strategy.rb
150
+ - lib/parentry/strategy/array.rb
151
+ - lib/parentry/strategy/array/class_methods.rb
152
+ - lib/parentry/strategy/array/instance_methods.rb
153
+ - lib/parentry/strategy/ltree.rb
154
+ - lib/parentry/strategy/ltree/class_methods.rb
155
+ - lib/parentry/strategy/ltree/instance_methods.rb
146
156
  - lib/parentry/version.rb
147
157
  - parentry.gemspec
148
158
  homepage: https://github.com/hasghari/parentry
@@ -165,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
175
  version: '0'
166
176
  requirements: []
167
177
  rubyforge_project:
168
- rubygems_version: 2.4.8
178
+ rubygems_version: 2.6.13
169
179
  signing_key:
170
180
  specification_version: 4
171
181
  summary: ActiveRecord adapter for the Postgres ltree module