awesome_nested_set 3.1.3 → 3.3.1
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.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +2 -0
- data.tar.gz.sig +2 -0
- data/CHANGELOG +33 -1
- data/README.md +5 -2
- data/lib/awesome_nested_set/awesome_nested_set.rb +9 -9
- data/lib/awesome_nested_set/columns.rb +2 -2
- data/lib/awesome_nested_set/model.rb +26 -14
- data/lib/awesome_nested_set/model/prunable.rb +1 -1
- data/lib/awesome_nested_set/model/rebuildable.rb +5 -1
- data/lib/awesome_nested_set/model/validatable.rb +1 -1
- data/lib/awesome_nested_set/move.rb +17 -3
- data/lib/awesome_nested_set/version.rb +3 -1
- metadata +65 -40
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 21d0bfb95d740009c0df08b796d8cc8a7fcffb329a7071e3e8abac8b6b5bc4ad
|
4
|
+
data.tar.gz: 1ef4e781fe0300d2316ca1f6bbdcce5c208618e3a7ac0aa5fc0966a5ea8b8bea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a98ce815f1e820457f7e2b87358b8af5cc584c894bd08ef531d32abeb92aaf64d484edbdac6ef264bab8b03d946b2bb68f6eb3433fd27a0516ef2de69fa7fd7a
|
7
|
+
data.tar.gz: ed46eb2b3a4311aead5153608bb26c99add49a796eacfbc5ba910f7854614015bf8bea1bfa63181ebe602692d14864de0866625600326037a65aa468fd98ca89
|
checksums.yaml.gz.sig
ADDED
data.tar.gz.sig
ADDED
data/CHANGELOG
CHANGED
@@ -1,11 +1,41 @@
|
|
1
|
+
Unreleased version
|
2
|
+
|
3
|
+
* [Compare to 3.3.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.3.1...master)
|
4
|
+
|
5
|
+
3.3.1
|
6
|
+
* Add belongs_to :polymorphic key option only when used [Filippo Liverani](https://github.com/filippoliverani)
|
7
|
+
* [Compare to 3.3.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.3.0...v3.3.1)
|
8
|
+
|
9
|
+
3.3.0
|
10
|
+
* Update for compatibility with Rails 6.1 which no longer inherits scoping
|
11
|
+
(Messages of the form "DEPRECATION WARNING: Class level methods will no longer inherit scoping from ...") [Marc Rohloff](https://github.com/marcrohloff)
|
12
|
+
* Fix ruby 2.7 keyword parameters deprecation warning [Krisdigital](https://github.com/krisdigital)
|
13
|
+
* [Compare to 3.2.1](https://github.com/collectiveidea/awesome_nested_set/compare/v3.2.1...v3.3.0)
|
14
|
+
|
15
|
+
3.2.1
|
16
|
+
* Don't reload in after_save callback. [Petrik de Heus](https://github.com/p8)
|
17
|
+
* Fix deprecation warning "Passing a range to `#in` is deprecated". [Konstantin Mochalov](https://github.com/kolen)
|
18
|
+
* [Compare to 3.2.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.2.0...v3.2.1)
|
19
|
+
|
20
|
+
3.2.0
|
21
|
+
* Add support for Rails 6.0 [Stefan Andersen](https://github.com/stfnndrsn) and [Damian Legawiec](https://github.com/damianlegawiec) and [Jonathan Tapia](https://github.com/jtapia) and [Alex](https://github.com/a-ta-ta)
|
22
|
+
* [Compare to 3.1.4](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.4...v3.2.0)
|
23
|
+
|
24
|
+
3.1.4
|
25
|
+
* Add support for Rails 5.2 [John Hawthorn](https://github.com/jhawthorn) and [marocchino](https://github.com/marocchino)
|
26
|
+
* [Compare to 3.1.3](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.3...v3.1.4)
|
27
|
+
|
1
28
|
3.1.3
|
2
|
-
* Add Rails 5.1
|
29
|
+
* Add support for Rails 5.1 [John Hawthorn](https://github.com/jhawthorn)
|
30
|
+
* [Compare to 3.1.2](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.2...v3.1.3)
|
3
31
|
|
4
32
|
3.1.2
|
5
33
|
* Make belongs_to relation optional again [Jan Matusz](https://marahin.pl/)
|
34
|
+
* [Compare to 3.0.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.1...v3.1.2)
|
6
35
|
|
7
36
|
3.1.1
|
8
37
|
* Fix a reloading bug when using default scope [Krzysztof Rybka](https://github.com/krzysiek1507)
|
38
|
+
* [Compare to 3.1.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.0...v3.1.1)
|
9
39
|
|
10
40
|
3.1.0
|
11
41
|
* Ensure that nested_set queries respect the model's default_scope. [oesgalha](https://github.com/oesgalha)
|
@@ -13,10 +43,12 @@
|
|
13
43
|
* Drop support for ruby 1.9.3 [Krzysztof Rybka](https://github.com/krzysiek1507)
|
14
44
|
* Fix .all_roots_valid? method when model is ordered by default [Adam Hodowany](https://github.com/hodak)
|
15
45
|
* Reuse the current model's connection when available [Tim Bugai] [#322](https://github.com/collectiveidea/awesome_nested_set/pull/322)
|
46
|
+
* [Compare to 3.0.3](https://github.com/collectiveidea/awesome_nested_set/compare/v3.0.3...v3.1.0)
|
16
47
|
|
17
48
|
3.0.3
|
18
49
|
* Add :nullify option to :dependent functionality to orphan children rather
|
19
50
|
than destroy them.
|
51
|
+
* [Compare to 3.0.2](https://github.com/collectiveidea/awesome_nested_set/compare/v3.0.2...v3.0.3)
|
20
52
|
|
21
53
|
3.0.2
|
22
54
|
* Fix `dependent: :restrict_with_exception` not allowing a delete to occur. [Brendan Kilfoil]
|
data/README.md
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
# Awesome Nested Set
|
2
2
|
|
3
|
-
[](https://travis-ci.org/collectiveidea/awesome_nested_set) [](https://codeclimate.com/github/collectiveidea/awesome_nested_set) [](https://travis-ci.org/collectiveidea/awesome_nested_set) [](https://codeclimate.com/github/collectiveidea/awesome_nested_set) [](https://hakiri.io/github/collectiveidea/awesome_nested_set/master)
|
4
4
|
|
5
5
|
|
6
6
|
Awesome Nested Set is an implementation of the nested set pattern for ActiveRecord models.
|
7
7
|
It is a replacement for acts_as_nested_set and BetterNestedSet, but more awesome.
|
8
8
|
|
9
|
-
Version 3.1 supports Rails 5 & 4. Version 2 supports Rails 3.
|
9
|
+
Version 3.2 supports Rails 6, 3.1 supports Rails 5 & 4. Version 2 supports Rails 3.
|
10
|
+
Gem versions prior to 2.0 support Rails 2.
|
10
11
|
|
11
12
|
## What makes this so awesome?
|
12
13
|
|
@@ -65,6 +66,7 @@ Run `rake rdoc` to generate the API docs and see [CollectiveIdea::Acts::NestedSe
|
|
65
66
|
You can pass various options to `acts_as_nested_set` macro. Configuration options are:
|
66
67
|
|
67
68
|
* `parent_column`: specifies the column name to use for keeping the position integer (default: parent_id)
|
69
|
+
* `primary_column`: specifies the column name to use as the inverse of the parent column (default: id)
|
68
70
|
* `left_column`: column name for left boundary data (default: lft)
|
69
71
|
* `right_column`: column name for right boundary data (default: rgt)
|
70
72
|
* `depth_column`: column name for the depth data default (default: depth)
|
@@ -178,6 +180,7 @@ class AddNestedToCategories < ActiveRecord::Migration
|
|
178
180
|
add_column :categories, :children_count, :integer
|
179
181
|
|
180
182
|
# This is necessary to update :lft and :rgt columns
|
183
|
+
Category.reset_column_information
|
181
184
|
Category.rebuild!
|
182
185
|
end
|
183
186
|
|
@@ -5,7 +5,7 @@ module CollectiveIdea #:nodoc:
|
|
5
5
|
module Acts #:nodoc:
|
6
6
|
module NestedSet #:nodoc:
|
7
7
|
|
8
|
-
# This
|
8
|
+
# This provides Nested Set functionality. Nested Set is a smart way to implement
|
9
9
|
# an _ordered_ tree, with the added feature that you can select the children and all of their
|
10
10
|
# descendants with a single query. The drawback is that insertion or move need some complex
|
11
11
|
# sql queries. But everything is done here by this module!
|
@@ -15,8 +15,8 @@ module CollectiveIdea #:nodoc:
|
|
15
15
|
#
|
16
16
|
# == API
|
17
17
|
#
|
18
|
-
# Methods names are aligned with acts_as_tree as much as possible to make
|
19
|
-
#
|
18
|
+
# Methods names are aligned with acts_as_tree as much as possible to make transition from one
|
19
|
+
# to another easier.
|
20
20
|
#
|
21
21
|
# item.children.create(:name => "child1")
|
22
22
|
#
|
@@ -25,8 +25,8 @@ module CollectiveIdea #:nodoc:
|
|
25
25
|
#
|
26
26
|
# * +:parent_column+ - specifies the column name to use for keeping the position integer (default: parent_id)
|
27
27
|
# * +:primary_column+ - specifies the column name to use as the inverse of the parent column (default: id)
|
28
|
-
# * +:left_column+ - column name for left
|
29
|
-
# * +:right_column+ - column name for right
|
28
|
+
# * +:left_column+ - column name for left boundary data, default "lft"
|
29
|
+
# * +:right_column+ - column name for right boundary data, default "rgt"
|
30
30
|
# * +:depth_column+ - column name for the depth data, default "depth"
|
31
31
|
# * +:scope+ - restricts what is to be considered a list. Given a symbol, it'll attach "_id"
|
32
32
|
# (if it hasn't been already) and use that as the foreign key restriction. You
|
@@ -87,8 +87,8 @@ module CollectiveIdea #:nodoc:
|
|
87
87
|
) if acts_as_nested_set_options[ar_callback]
|
88
88
|
end
|
89
89
|
|
90
|
-
has_many :children, -> { order(
|
91
|
-
has_many_children_options
|
90
|
+
has_many :children, -> { order(order_column_name => :asc) },
|
91
|
+
**has_many_children_options
|
92
92
|
end
|
93
93
|
|
94
94
|
def acts_as_nested_set_relate_parent!
|
@@ -98,11 +98,11 @@ module CollectiveIdea #:nodoc:
|
|
98
98
|
:primary_key => primary_column_name,
|
99
99
|
:counter_cache => acts_as_nested_set_options[:counter_cache],
|
100
100
|
:inverse_of => (:children unless acts_as_nested_set_options[:polymorphic]),
|
101
|
-
:polymorphic => acts_as_nested_set_options[:polymorphic],
|
102
101
|
:touch => acts_as_nested_set_options[:touch]
|
103
102
|
}
|
103
|
+
options[:polymorphic] = true if acts_as_nested_set_options[:polymorphic]
|
104
104
|
options[:optional] = true if ActiveRecord::VERSION::MAJOR >= 5
|
105
|
-
belongs_to :parent, options
|
105
|
+
belongs_to :parent, **options
|
106
106
|
end
|
107
107
|
|
108
108
|
def acts_as_nested_set_default_options
|
@@ -23,7 +23,7 @@ module CollectiveIdea #:nodoc:
|
|
23
23
|
acts_as_nested_set_options[:primary_column]
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
26
|
+
def order_column_name
|
27
27
|
acts_as_nested_set_options[:order_column] || left_column_name
|
28
28
|
end
|
29
29
|
|
@@ -60,7 +60,7 @@ module CollectiveIdea #:nodoc:
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def quoted_order_column_name
|
63
|
-
model_connection.quote_column_name(
|
63
|
+
model_connection.quote_column_name(order_column_name)
|
64
64
|
end
|
65
65
|
|
66
66
|
def quoted_primary_key_column_full_name
|
@@ -52,7 +52,7 @@ module CollectiveIdea #:nodoc:
|
|
52
52
|
|
53
53
|
# Iterates over tree elements and determines the current level in the tree.
|
54
54
|
# Only accepts default ordering, odering by an other column than lft
|
55
|
-
# does not work. This method is much more
|
55
|
+
# does not work. This method is much more efficient than calling level
|
56
56
|
# because it doesn't require any additional database queries.
|
57
57
|
#
|
58
58
|
# Example:
|
@@ -79,9 +79,13 @@ module CollectiveIdea #:nodoc:
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def nested_set_scope(options = {})
|
82
|
-
|
82
|
+
order = scope_order_from_options(options)
|
83
|
+
default_scoped.where(options[:conditions]).order(order)
|
84
|
+
end
|
83
85
|
|
84
|
-
|
86
|
+
def nested_set_scope_without_default_scope(options = {})
|
87
|
+
order = scope_order_from_options(options)
|
88
|
+
unscoped.where(options[:conditions]).order(order)
|
85
89
|
end
|
86
90
|
|
87
91
|
def primary_key_scope(id)
|
@@ -95,6 +99,12 @@ module CollectiveIdea #:nodoc:
|
|
95
99
|
def roots
|
96
100
|
nested_set_scope.children_of nil
|
97
101
|
end
|
102
|
+
|
103
|
+
private
|
104
|
+
|
105
|
+
def scope_order_from_options(options)
|
106
|
+
options.fetch(:order, { order_column_name => :asc })
|
107
|
+
end
|
98
108
|
end # end class methods
|
99
109
|
|
100
110
|
# Any instance method that returns a collection makes use of Rails 2.1's named_scope (which is bundled for Rails 2.0), so it can be treated as a finder.
|
@@ -139,11 +149,7 @@ module CollectiveIdea #:nodoc:
|
|
139
149
|
# performs finds on the base ActiveRecord class, using the :scope
|
140
150
|
# declared in the acts_as_nested_set declaration.
|
141
151
|
def nested_set_scope(options = {})
|
142
|
-
|
143
|
-
options[:conditions] = scopes.inject({}) do |conditions,attr|
|
144
|
-
conditions.merge attr => self[attr]
|
145
|
-
end
|
146
|
-
end
|
152
|
+
add_scope_conditions_to_options(options)
|
147
153
|
|
148
154
|
self.class.base_class.nested_set_scope options
|
149
155
|
end
|
@@ -153,10 +159,10 @@ module CollectiveIdea #:nodoc:
|
|
153
159
|
# Only activerecord callbacks need unscoped model to handle the nested set records
|
154
160
|
# And class level `nested_set_scope` seems just for query `root` `child` .. etc
|
155
161
|
# I think we don't have to provide unscoped `nested_set_scope` in class level.
|
156
|
-
def nested_set_scope_without_default_scope(
|
157
|
-
|
158
|
-
|
159
|
-
|
162
|
+
def nested_set_scope_without_default_scope(options = {})
|
163
|
+
add_scope_conditions_to_options(options)
|
164
|
+
|
165
|
+
self.class.base_class.nested_set_scope_without_default_scope options
|
160
166
|
end
|
161
167
|
|
162
168
|
def to_text
|
@@ -167,6 +173,13 @@ module CollectiveIdea #:nodoc:
|
|
167
173
|
|
168
174
|
protected
|
169
175
|
|
176
|
+
def add_scope_conditions_to_options(options)
|
177
|
+
scopes = scope_column_names
|
178
|
+
return if scopes.empty?
|
179
|
+
|
180
|
+
options[:conditions] = scopes.map { |attr| [attr, self[attr] ] }.to_h
|
181
|
+
end
|
182
|
+
|
170
183
|
def without_self(scope)
|
171
184
|
return scope if new_record?
|
172
185
|
scope.where(["#{self.class.quoted_table_name}.#{self.class.quoted_primary_column_name} != ?", self.primary_id])
|
@@ -183,7 +196,7 @@ module CollectiveIdea #:nodoc:
|
|
183
196
|
|
184
197
|
def right_most_node
|
185
198
|
@right_most_node ||= nested_set_scope_without_default_scope(
|
186
|
-
:order =>
|
199
|
+
:order => {right_column_name => :desc}
|
187
200
|
).first
|
188
201
|
end
|
189
202
|
|
@@ -200,7 +213,6 @@ module CollectiveIdea #:nodoc:
|
|
200
213
|
return unless has_depth_column?
|
201
214
|
|
202
215
|
in_tenacious_transaction do
|
203
|
-
reload
|
204
216
|
update_depth(level)
|
205
217
|
end
|
206
218
|
end
|
@@ -32,7 +32,11 @@ module CollectiveIdea
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def order_for_rebuild
|
35
|
-
|
35
|
+
{
|
36
|
+
left_column_name => :asc,
|
37
|
+
right_column_name => :asc,
|
38
|
+
primary_key => :asc
|
39
|
+
}
|
36
40
|
end
|
37
41
|
end
|
38
42
|
|
@@ -20,7 +20,7 @@ module CollectiveIdea
|
|
20
20
|
select("#{scope_string}#{column}, COUNT(#{column}) as _count").
|
21
21
|
group("#{scope_string}#{column}", quoted_primary_key_column_full_name).
|
22
22
|
having("COUNT(#{column}) > 1").
|
23
|
-
order(
|
23
|
+
order(primary_column_name => :asc).
|
24
24
|
first.nil?
|
25
25
|
end
|
26
26
|
end
|
@@ -41,9 +41,21 @@ module CollectiveIdea #:nodoc:
|
|
41
41
|
delegate :base_class, :to => :instance_class, :prefix => :instance
|
42
42
|
|
43
43
|
def where_statement(left_bound, right_bound)
|
44
|
-
instance_arel_table[left_column_name].
|
44
|
+
instance_arel_table[left_column_name].between(left_bound..right_bound).
|
45
|
+
or(instance_arel_table[right_column_name].between(left_bound..right_bound))
|
46
|
+
end
|
47
|
+
|
48
|
+
# Before Arel 6, there was 'in' method, which was replaced
|
49
|
+
# with 'between' in Arel 6 and now gives deprecation warnings
|
50
|
+
# in verbose mode. This is patch to support rails 4.0 (Arel 4)
|
51
|
+
# and 4.1 (Arel 5).
|
52
|
+
module LegacyWhereStatementExt
|
53
|
+
def where_statement(left_bound, right_bound)
|
54
|
+
instance_arel_table[left_column_name].in(left_bound..right_bound).
|
45
55
|
or(instance_arel_table[right_column_name].in(left_bound..right_bound))
|
56
|
+
end
|
46
57
|
end
|
58
|
+
prepend LegacyWhereStatementExt unless Arel::Predications.method_defined?(:between)
|
47
59
|
|
48
60
|
def conditions(a, b, c, d)
|
49
61
|
_conditions = case_condition_for_direction(:quoted_left_column_name) +
|
@@ -84,8 +96,10 @@ module CollectiveIdea #:nodoc:
|
|
84
96
|
|
85
97
|
def lock_nodes_between!(left_bound, right_bound)
|
86
98
|
# select the rows in the model between a and d, and apply a lock
|
87
|
-
instance_base_class.
|
88
|
-
|
99
|
+
instance_base_class.nested_set_scope.
|
100
|
+
right_of(left_bound).left_of_right_side(right_bound).
|
101
|
+
select(primary_column_name).
|
102
|
+
lock(true)
|
89
103
|
end
|
90
104
|
|
91
105
|
def root
|
metadata
CHANGED
@@ -1,16 +1,42 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awesome_nested_set
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1
|
4
|
+
version: 3.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Keepers
|
8
8
|
- Daniel Morrison
|
9
9
|
- Philip Arndt
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
|
-
cert_chain:
|
13
|
-
|
12
|
+
cert_chain:
|
13
|
+
- |
|
14
|
+
-----BEGIN CERTIFICATE-----
|
15
|
+
MIIEMjCCApqgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhnZW1z
|
16
|
+
L0RDPXAvREM9YXJuZHQvREM9aW8wHhcNMjAwNTEwMjIxOTQ2WhcNMjEwNTEwMjIx
|
17
|
+
OTQ2WjAjMSEwHwYDVQQDDBhnZW1zL0RDPXAvREM9YXJuZHQvREM9aW8wggGiMA0G
|
18
|
+
CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDT+JzHYPGMYJt9ct2DCsbIymn1uJJp
|
19
|
+
HnDkQESfsGe40jTC90oF2iVbVOkaacNc1N3CSWUZvZjuygUuS86P6/kpBILGdO2+
|
20
|
+
bkXXKtfGC2YGGx9TdNLpCb4925vQHvdFeKXGpQDZdDw1SNC6zraZou47CvOE1cl2
|
21
|
+
Bp+1QMZuGRZ4+5CzOEWDWurjqce3O1jUEbyBB7z5H0h/YEaxfXipxhL1Dhi0sgkH
|
22
|
+
qP/e6SxzifdifdZCksJFQ06a1ji9hJY6eM23qbv/aaluVHAZSVBAQBS7rYniLo+N
|
23
|
+
G4vpFhoubQO5u8UluUtCaPUpI/qOvVcSaZn3ZkzlMwC8b1RwAeXBQmtFE2wnrv2i
|
24
|
+
ovTwoN7rHchwhgaHbkuFh4Wr92wGbrWL7J+X8rWKk1f8RF4kvtNE/NA6YrkxTpVh
|
25
|
+
QMyDmekt7rTxvcq2NneLGroWIUVCx/JID+Jw492LKQ6Sl1/P2TRzdEDtqZAZL0gt
|
26
|
+
xlWeMUfGG2D/gLnhs5qnaFaWQwGTmBnTgHcCAwEAAaNxMG8wCQYDVR0TBAIwADAL
|
27
|
+
BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEqtAyQVxPgKsrgoTQ1YmaIu/fmvMBoGA1Ud
|
28
|
+
EQQTMBGBD2dlbXNAcC5hcm5kdC5pbzAaBgNVHRIEEzARgQ9nZW1zQHAuYXJuZHQu
|
29
|
+
aW8wDQYJKoZIhvcNAQELBQADggGBALu2HM50B8xqlAXkCwavJDvWWtV9pG1igFUg
|
30
|
+
friZRWprUQ5nTaNmAd8p8qbJQwaIK2gt+DfYWfB9LtKnQTfbhLRBbmJ7zYw8LjKY
|
31
|
+
PwCs4RWjDAiuyCO3ppfsz+1bsMUXPLgWlaUkXsUy3nr2NruEFTO9zu3wGYQQ93Tt
|
32
|
+
vYSHOnP35UB4QjsjNrOO7FBaQfy6O909PP+GnVcJ62s9c26voJz63RSolwY7Jydw
|
33
|
+
XUlG68jjJKSoDHRzVTmNB7sX8rs8P2kvYkpIUXPHyls3mWBWjBWbdEYWESZrxI2x
|
34
|
+
dS7jY3AnfqhvsWra2pSREb2IDqPnJrHVOejnEI/zuuufUxLwDx3AC6SMdsyWkZ7V
|
35
|
+
9OmLt2rg75Sct6h2220lO5ySqYtqAXuOMBDGv5L0zLalx1g8LACA7uILTKVWh8B8
|
36
|
+
Hsej0MQ3drCB1eA4c9OXdCUQJnY2aLTq3uNvTbZvoTgWK55eq3KLBJ4zzoKZ4tBX
|
37
|
+
/HIFI/fEwYlI1Ji3oikUrHkc4rWgaQ==
|
38
|
+
-----END CERTIFICATE-----
|
39
|
+
date: 2021-01-04 00:00:00.000000000 Z
|
14
40
|
dependencies:
|
15
41
|
- !ruby/object:Gem::Dependency
|
16
42
|
name: activerecord
|
@@ -21,7 +47,7 @@ dependencies:
|
|
21
47
|
version: 4.0.0
|
22
48
|
- - "<"
|
23
49
|
- !ruby/object:Gem::Version
|
24
|
-
version: '
|
50
|
+
version: '7.0'
|
25
51
|
type: :runtime
|
26
52
|
prerelease: false
|
27
53
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -31,7 +57,7 @@ dependencies:
|
|
31
57
|
version: 4.0.0
|
32
58
|
- - "<"
|
33
59
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
60
|
+
version: '7.0'
|
35
61
|
- !ruby/object:Gem::Dependency
|
36
62
|
name: appraisal
|
37
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,21 +73,27 @@ dependencies:
|
|
47
73
|
- !ruby/object:Gem::Version
|
48
74
|
version: '0'
|
49
75
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
76
|
+
name: combustion
|
51
77
|
requirement: !ruby/object:Gem::Requirement
|
52
78
|
requirements:
|
53
79
|
- - ">="
|
54
80
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
81
|
+
version: 0.5.2
|
82
|
+
- - "<"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 0.5.5
|
56
85
|
type: :development
|
57
86
|
prerelease: false
|
58
87
|
version_requirements: !ruby/object:Gem::Requirement
|
59
88
|
requirements:
|
60
89
|
- - ">="
|
61
90
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
91
|
+
version: 0.5.2
|
92
|
+
- - "<"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 0.5.5
|
63
95
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
96
|
+
name: database_cleaner
|
65
97
|
requirement: !ruby/object:Gem::Requirement
|
66
98
|
requirements:
|
67
99
|
- - ">="
|
@@ -75,67 +107,61 @@ dependencies:
|
|
75
107
|
- !ruby/object:Gem::Version
|
76
108
|
version: '0'
|
77
109
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
110
|
+
name: pry
|
79
111
|
requirement: !ruby/object:Gem::Requirement
|
80
112
|
requirements:
|
81
|
-
- - "
|
113
|
+
- - ">="
|
82
114
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
115
|
+
version: '0'
|
84
116
|
type: :development
|
85
117
|
prerelease: false
|
86
118
|
version_requirements: !ruby/object:Gem::Requirement
|
87
119
|
requirements:
|
88
|
-
- - "
|
120
|
+
- - ">="
|
89
121
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
122
|
+
version: '0'
|
91
123
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
124
|
+
name: pry-nav
|
93
125
|
requirement: !ruby/object:Gem::Requirement
|
94
126
|
requirements:
|
95
|
-
- - "
|
127
|
+
- - ">="
|
96
128
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
129
|
+
version: '0'
|
98
130
|
type: :development
|
99
131
|
prerelease: false
|
100
132
|
version_requirements: !ruby/object:Gem::Requirement
|
101
133
|
requirements:
|
102
|
-
- - "
|
134
|
+
- - ">="
|
103
135
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
136
|
+
version: '0'
|
105
137
|
- !ruby/object:Gem::Dependency
|
106
|
-
name:
|
138
|
+
name: rake
|
107
139
|
requirement: !ruby/object:Gem::Requirement
|
108
140
|
requirements:
|
109
|
-
- - "
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: 0.5.2
|
112
|
-
- - "<"
|
141
|
+
- - "~>"
|
113
142
|
- !ruby/object:Gem::Version
|
114
|
-
version:
|
143
|
+
version: '10'
|
115
144
|
type: :development
|
116
145
|
prerelease: false
|
117
146
|
version_requirements: !ruby/object:Gem::Requirement
|
118
147
|
requirements:
|
119
|
-
- - "
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version: 0.5.2
|
122
|
-
- - "<"
|
148
|
+
- - "~>"
|
123
149
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
150
|
+
version: '10'
|
125
151
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
152
|
+
name: rspec-rails
|
127
153
|
requirement: !ruby/object:Gem::Requirement
|
128
154
|
requirements:
|
129
|
-
- - "
|
155
|
+
- - "~>"
|
130
156
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
157
|
+
version: 3.8.0
|
132
158
|
type: :development
|
133
159
|
prerelease: false
|
134
160
|
version_requirements: !ruby/object:Gem::Requirement
|
135
161
|
requirements:
|
136
|
-
- - "
|
162
|
+
- - "~>"
|
137
163
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
164
|
+
version: 3.8.0
|
139
165
|
description: An awesome nested set implementation for Active Record
|
140
166
|
email: info@collectiveidea.com
|
141
167
|
executables: []
|
@@ -166,7 +192,7 @@ homepage: http://github.com/collectiveidea/awesome_nested_set
|
|
166
192
|
licenses:
|
167
193
|
- MIT
|
168
194
|
metadata: {}
|
169
|
-
post_install_message:
|
195
|
+
post_install_message:
|
170
196
|
rdoc_options:
|
171
197
|
- "--main"
|
172
198
|
- README.md
|
@@ -185,9 +211,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
211
|
- !ruby/object:Gem::Version
|
186
212
|
version: '0'
|
187
213
|
requirements: []
|
188
|
-
|
189
|
-
|
190
|
-
signing_key:
|
214
|
+
rubygems_version: 3.2.3
|
215
|
+
signing_key:
|
191
216
|
specification_version: 4
|
192
217
|
summary: An awesome nested set implementation for Active Record
|
193
218
|
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|