awesome_nested_set 3.1.0 → 3.4.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
- SHA1:
3
- metadata.gz: ddb25974895907e5a9dd2e701894678e7f14f338
4
- data.tar.gz: 806590f9ab37cbc3756f15e613b4ae6226cab542
2
+ SHA256:
3
+ metadata.gz: 5145938ca7a83f2c7f17b21792d96b43fc7c3e7ad90827af1e54bfc69b67d455
4
+ data.tar.gz: a7c20bb47b946a37e4946ca73577f292679e85624aeb03f75762be7b1e3bc3d7
5
5
  SHA512:
6
- metadata.gz: d2e80c6b55ce284b9e151a1a4ba02246284cd1718e3aea16f3a5cb5419cfb4743c826537ceb0a0f0ae2f735eaa177f991b1b0035de6acb99e4357acedca74584
7
- data.tar.gz: 08bc67738a4b4401aa49bcb9ef6098b0361e10d3bb2b4e916dd69f58020c7a994a7c0db6cb428bcf1fbfbefd567690c45f8b89b17ed83d953f4d800125c770c1
6
+ metadata.gz: b5af92810fd9120cbc84f7ea9f70b444a9331c4ac532e80b03a7c88a506f63a72e80d84ee0b536dfa8f2691c3351d922d55812149188670d45c3945c91a8a651
7
+ data.tar.gz: 9abe2f9c68010fe4f8105949afc7ecb9941d0897d89bdc0e994920f7a4dec41b2ee1e372e52bc947cbce8395eedec18546d34ce873ba2e9694a53e4b6ab7ea95
checksums.yaml.gz.sig ADDED
Binary file
data/CHANGELOG CHANGED
@@ -1,12 +1,59 @@
1
+ Unreleased version
2
+
3
+ * [Compare to 3.4.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.4.0...master)
4
+
5
+ 3.4.0
6
+ * Keep current scope when calling `roots` [Petrik de Heus](https://github.com/p8)
7
+ * STI record now can update counter cache correctly [Issei Murasawa](http://github.com/issei-m)
8
+ * [Compare to 3.3.1](https://github.com/collectiveidea/awesome_nested_set/compare/v3.3.1...master)
9
+
10
+ 3.3.1
11
+ * Add belongs_to :polymorphic key option only when used [Filippo Liverani](https://github.com/filippoliverani)
12
+ * [Compare to 3.3.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.3.0...v3.3.1)
13
+
14
+ 3.3.0
15
+ * Update for compatibility with Rails 6.1 which no longer inherits scoping
16
+ (Messages of the form "DEPRECATION WARNING: Class level methods will no longer inherit scoping from ...") [Marc Rohloff](https://github.com/marcrohloff)
17
+ * Fix ruby 2.7 keyword parameters deprecation warning [Krisdigital](https://github.com/krisdigital)
18
+ * [Compare to 3.2.1](https://github.com/collectiveidea/awesome_nested_set/compare/v3.2.1...v3.3.0)
19
+
20
+ 3.2.1
21
+ * Don't reload in after_save callback. [Petrik de Heus](https://github.com/p8)
22
+ * Fix deprecation warning "Passing a range to `#in` is deprecated". [Konstantin Mochalov](https://github.com/kolen)
23
+ * [Compare to 3.2.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.2.0...v3.2.1)
24
+
25
+ 3.2.0
26
+ * 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)
27
+ * [Compare to 3.1.4](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.4...v3.2.0)
28
+
29
+ 3.1.4
30
+ * Add support for Rails 5.2 [John Hawthorn](https://github.com/jhawthorn) and [marocchino](https://github.com/marocchino)
31
+ * [Compare to 3.1.3](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.3...v3.1.4)
32
+
33
+ 3.1.3
34
+ * Add support for Rails 5.1 [John Hawthorn](https://github.com/jhawthorn)
35
+ * [Compare to 3.1.2](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.2...v3.1.3)
36
+
37
+ 3.1.2
38
+ * Make belongs_to relation optional again [Jan Matusz](https://marahin.pl/)
39
+ * [Compare to 3.0.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.1...v3.1.2)
40
+
41
+ 3.1.1
42
+ * Fix a reloading bug when using default scope [Krzysztof Rybka](https://github.com/krzysiek1507)
43
+ * [Compare to 3.1.0](https://github.com/collectiveidea/awesome_nested_set/compare/v3.1.0...v3.1.1)
44
+
1
45
  3.1.0
2
46
  * Ensure that nested_set queries respect the model's default_scope. [oesgalha](https://github.com/oesgalha)
3
47
  * Add Rails 5 support [Krzysztof Rybka](https://github.com/krzysiek1507)
48
+ * Drop support for ruby 1.9.3 [Krzysztof Rybka](https://github.com/krzysiek1507)
4
49
  * Fix .all_roots_valid? method when model is ordered by default [Adam Hodowany](https://github.com/hodak)
5
50
  * Reuse the current model's connection when available [Tim Bugai] [#322](https://github.com/collectiveidea/awesome_nested_set/pull/322)
51
+ * [Compare to 3.0.3](https://github.com/collectiveidea/awesome_nested_set/compare/v3.0.3...v3.1.0)
6
52
 
7
53
  3.0.3
8
54
  * Add :nullify option to :dependent functionality to orphan children rather
9
55
  than destroy them.
56
+ * [Compare to 3.0.2](https://github.com/collectiveidea/awesome_nested_set/compare/v3.0.2...v3.0.3)
10
57
 
11
58
  3.0.2
12
59
  * 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
- [![Build Status](https://travis-ci.org/collectiveidea/awesome_nested_set.png?branch=master)](https://travis-ci.org/collectiveidea/awesome_nested_set) [![Code Climate](https://codeclimate.com/github/collectiveidea/awesome_nested_set.png)](https://codeclimate.com/github/collectiveidea/awesome_nested_set) [![Dependency Status](https://gemnasium.com/collectiveidea/awesome_nested_set.svg)](https://gemnasium.com/collectiveidea/awesome_nested_set)
3
+ [![Build Status](https://travis-ci.org/collectiveidea/awesome_nested_set.svg?branch=master)](https://travis-ci.org/collectiveidea/awesome_nested_set) [![Code Climate](https://codeclimate.com/github/collectiveidea/awesome_nested_set.svg)](https://codeclimate.com/github/collectiveidea/awesome_nested_set) [![Security](https://hakiri.io/github/collectiveidea/awesome_nested_set/master.svg)](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. Gem versions prior to 2.0 support Rails 2.
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
 
@@ -26,7 +27,7 @@ gem 'awesome_nested_set'
26
27
  To make use of `awesome_nested_set` your model needs to have 3 fields:
27
28
  `lft`, `rgt`, and `parent_id`. The names of these fields are configurable.
28
29
  You can also have optional fields: `depth` and `children_count`. These fields are configurable.
29
- Note that the `childrent_count` column must have `null: false` and `default: 0` to
30
+ Note that the `children_count` column must have `null: false` and `default: 0` to
30
31
  function properly.
31
32
 
32
33
  ```ruby
@@ -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)
@@ -135,7 +137,7 @@ class Category < ActiveRecord::Base
135
137
  end
136
138
  ```
137
139
 
138
- ## Protecting attributes from mass assignment
140
+ ## Protecting attributes from mass assignment (for Rails < 4)
139
141
 
140
142
  It's generally best to "whitelist" the attributes that can be used in mass assignment:
141
143
 
@@ -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
 
@@ -231,10 +234,6 @@ Example usage:
231
234
 
232
235
  See [CollectiveIdea::Acts::NestedSet::Helper](lib/awesome_nested_set/helper.rb) for more information about the helpers.
233
236
 
234
- ## References
235
-
236
- You can learn more about nested sets at: http://threebit.net/tutorials/nestedset/tutorial1.html
237
-
238
237
  ## How to contribute
239
238
 
240
239
  Please see the ['Contributing' document](CONTRIBUTING.md).
@@ -5,7 +5,7 @@ module CollectiveIdea #:nodoc:
5
5
  module Acts #:nodoc:
6
6
  module NestedSet #:nodoc:
7
7
 
8
- # This acts provides Nested Set functionality. Nested Set is a smart way to implement
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 replacment from one
19
- # by another easier.
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 boundry data, default "lft"
29
- # * +:right_column+ - column name for right boundry data, default "rgt"
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,18 +87,22 @@ module CollectiveIdea #:nodoc:
87
87
  ) if acts_as_nested_set_options[ar_callback]
88
88
  end
89
89
 
90
- has_many :children, -> { order(quoted_order_column_full_name) },
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!
95
- belongs_to :parent, :class_name => self.base_class.to_s,
96
- :foreign_key => parent_column_name,
97
- :primary_key => primary_column_name,
98
- :counter_cache => acts_as_nested_set_options[:counter_cache],
99
- :inverse_of => (:children unless acts_as_nested_set_options[:polymorphic]),
100
- :polymorphic => acts_as_nested_set_options[:polymorphic],
101
- :touch => acts_as_nested_set_options[:touch]
95
+ options = {
96
+ :class_name => self.base_class.to_s,
97
+ :foreign_key => parent_column_name,
98
+ :primary_key => primary_column_name,
99
+ :counter_cache => acts_as_nested_set_options[:counter_cache],
100
+ :inverse_of => (:children unless acts_as_nested_set_options[:polymorphic]),
101
+ :touch => acts_as_nested_set_options[:touch]
102
+ }
103
+ options[:polymorphic] = true if acts_as_nested_set_options[:polymorphic]
104
+ options[:optional] = true if ActiveRecord::VERSION::MAJOR >= 5
105
+ belongs_to :parent, **options
102
106
  end
103
107
 
104
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 order_column
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(order_column)
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
  end
53
53
  return true
54
54
  elsif acts_as_nested_set_options[:dependent] == :nullify
55
- descendants.update_all(parent_id: nil)
55
+ descendants.update_all(parent_column_name => nil)
56
56
  else
57
57
  descendants.delete_all
58
58
  end
@@ -32,7 +32,11 @@ module CollectiveIdea
32
32
  end
33
33
 
34
34
  def order_for_rebuild
35
- "#{quoted_left_column_full_name}, #{quoted_right_column_full_name}, #{primary_key}"
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(quoted_primary_key_column_full_name).
23
+ order(primary_column_name => :asc).
24
24
  first.nil?
25
25
  end
26
26
  end
@@ -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 efficent than calling level
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,8 @@ module CollectiveIdea #:nodoc:
79
79
  end
80
80
 
81
81
  def nested_set_scope(options = {})
82
- options = {:order => quoted_order_column_full_name}.merge(options)
83
-
84
- where(options[:conditions]).order(options.delete(:order))
82
+ order = scope_order_from_options(options)
83
+ where(options[:conditions]).order(order)
85
84
  end
86
85
 
87
86
  def primary_key_scope(id)
@@ -95,6 +94,12 @@ module CollectiveIdea #:nodoc:
95
94
  def roots
96
95
  nested_set_scope.children_of nil
97
96
  end
97
+
98
+ private
99
+
100
+ def scope_order_from_options(options)
101
+ options.fetch(:order, { order_column_name => :asc })
102
+ end
98
103
  end # end class methods
99
104
 
100
105
  # 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,13 +144,9 @@ module CollectiveIdea #:nodoc:
139
144
  # performs finds on the base ActiveRecord class, using the :scope
140
145
  # declared in the acts_as_nested_set declaration.
141
146
  def nested_set_scope(options = {})
142
- if (scopes = Array(acts_as_nested_set_options[:scope])).any?
143
- options[:conditions] = scopes.inject({}) do |conditions,attr|
144
- conditions.merge attr => self[attr]
145
- end
146
- end
147
+ add_scope_conditions_to_options(options)
147
148
 
148
- self.class.base_class.nested_set_scope options
149
+ self.class.base_class.default_scoped.nested_set_scope options
149
150
  end
150
151
 
151
152
  # Separate an other `nested_set_scope` for unscoped model
@@ -153,10 +154,10 @@ module CollectiveIdea #:nodoc:
153
154
  # Only activerecord callbacks need unscoped model to handle the nested set records
154
155
  # And class level `nested_set_scope` seems just for query `root` `child` .. etc
155
156
  # I think we don't have to provide unscoped `nested_set_scope` in class level.
156
- def nested_set_scope_without_default_scope(*args)
157
- self.class.base_class.unscoped do
158
- nested_set_scope(*args)
159
- end
157
+ def nested_set_scope_without_default_scope(options = {})
158
+ add_scope_conditions_to_options(options)
159
+
160
+ self.class.base_class.unscoped.nested_set_scope options
160
161
  end
161
162
 
162
163
  def to_text
@@ -167,6 +168,13 @@ module CollectiveIdea #:nodoc:
167
168
 
168
169
  protected
169
170
 
171
+ def add_scope_conditions_to_options(options)
172
+ scopes = scope_column_names
173
+ return if scopes.empty?
174
+
175
+ options[:conditions] = scopes.map { |attr| [attr, self[attr] ] }.to_h
176
+ end
177
+
170
178
  def without_self(scope)
171
179
  return scope if new_record?
172
180
  scope.where(["#{self.class.quoted_table_name}.#{self.class.quoted_primary_column_name} != ?", self.primary_id])
@@ -183,7 +191,7 @@ module CollectiveIdea #:nodoc:
183
191
 
184
192
  def right_most_node
185
193
  @right_most_node ||= nested_set_scope_without_default_scope(
186
- :order => "#{quoted_right_column_full_name} desc"
194
+ :order => {right_column_name => :desc}
187
195
  ).first
188
196
  end
189
197
 
@@ -200,7 +208,6 @@ module CollectiveIdea #:nodoc:
200
208
  return unless has_depth_column?
201
209
 
202
210
  in_tenacious_transaction do
203
- reload
204
211
  update_depth(level)
205
212
  end
206
213
  end
@@ -237,12 +244,12 @@ module CollectiveIdea #:nodoc:
237
244
 
238
245
  # Decrease the counter for all old parents
239
246
  if old_parent = self.parent
240
- self.class.decrement_counter(acts_as_nested_set_options[:counter_cache], old_parent)
247
+ old_parent.class.decrement_counter(acts_as_nested_set_options[:counter_cache], old_parent)
241
248
  end
242
249
 
243
250
  # Increase the counter for all new parents
244
251
  if new_parent = self.reload.parent
245
- self.class.increment_counter(acts_as_nested_set_options[:counter_cache], new_parent)
252
+ new_parent.class.increment_counter(acts_as_nested_set_options[:counter_cache], new_parent)
246
253
  end
247
254
  end
248
255
 
@@ -264,7 +271,7 @@ module CollectiveIdea #:nodoc:
264
271
  if target.is_a? self.class.base_class
265
272
  target.reload
266
273
  elsif position != :root
267
- nested_set_scope.where(primary_column_name => target).first!
274
+ nested_set_scope_without_default_scope.where(primary_column_name => target).first!
268
275
  end
269
276
  end
270
277
  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].in(left_bound..right_bound).
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.right_of(left_bound).left_of_right_side(right_bound).
88
- select(primary_column_name).lock(true)
99
+ instance_base_class.default_scoped.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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module AwesomeNestedSet
2
- VERSION = '3.1.0' unless defined?(::AwesomeNestedSet::VERSION)
4
+ VERSION = '3.4.0' unless defined?(::AwesomeNestedSet::VERSION)
3
5
  end
@@ -1,8 +1,11 @@
1
+ require 'active_support/lazy_load_hooks'
1
2
  require 'awesome_nested_set/awesome_nested_set'
2
- require 'active_record'
3
- ActiveRecord::Base.send :extend, CollectiveIdea::Acts::NestedSet
4
3
 
5
- if defined?(ActionView)
4
+ ActiveSupport.on_load(:active_record) do
5
+ ActiveRecord::Base.send :extend, CollectiveIdea::Acts::NestedSet
6
+ end
7
+
8
+ ActiveSupport.on_load(:action_view) do
6
9
  require 'awesome_nested_set/helper'
7
10
  ActionView::Base.send :include, CollectiveIdea::Acts::NestedSet::Helper
8
11
  end
data.tar.gz.sig ADDED
Binary file
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.0
4
+ version: 3.4.0
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
- date: 2016-05-27 00:00:00.000000000 Z
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-02-22 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: '5.1'
50
+ version: '7.0'
25
51
  type: :runtime
26
52
  prerelease: false
27
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,51 +57,57 @@ dependencies:
31
57
  version: 4.0.0
32
58
  - - "<"
33
59
  - !ruby/object:Gem::Version
34
- version: '5.1'
60
+ version: '7.0'
35
61
  - !ruby/object:Gem::Dependency
36
- name: rspec-rails
62
+ name: appraisal
37
63
  requirement: !ruby/object:Gem::Requirement
38
64
  requirements:
39
- - - '='
65
+ - - ">="
40
66
  - !ruby/object:Gem::Version
41
- version: 3.5.0.beta3
67
+ version: '0'
42
68
  type: :development
43
69
  prerelease: false
44
70
  version_requirements: !ruby/object:Gem::Requirement
45
71
  requirements:
46
- - - '='
72
+ - - ">="
47
73
  - !ruby/object:Gem::Version
48
- version: 3.5.0.beta3
74
+ version: '0'
49
75
  - !ruby/object:Gem::Dependency
50
- name: rake
76
+ name: combustion
51
77
  requirement: !ruby/object:Gem::Requirement
52
78
  requirements:
53
- - - "~>"
79
+ - - ">="
54
80
  - !ruby/object:Gem::Version
55
- version: '10'
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: '10'
91
+ version: 0.5.2
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: 0.5.5
63
95
  - !ruby/object:Gem::Dependency
64
- name: combustion
96
+ name: database_cleaner
65
97
  requirement: !ruby/object:Gem::Requirement
66
98
  requirements:
67
99
  - - ">="
68
100
  - !ruby/object:Gem::Version
69
- version: 0.5.2
101
+ version: '0'
70
102
  type: :development
71
103
  prerelease: false
72
104
  version_requirements: !ruby/object:Gem::Requirement
73
105
  requirements:
74
106
  - - ">="
75
107
  - !ruby/object:Gem::Version
76
- version: 0.5.2
108
+ version: '0'
77
109
  - !ruby/object:Gem::Dependency
78
- name: database_cleaner
110
+ name: pry
79
111
  requirement: !ruby/object:Gem::Requirement
80
112
  requirements:
81
113
  - - ">="
@@ -88,6 +120,48 @@ dependencies:
88
120
  - - ">="
89
121
  - !ruby/object:Gem::Version
90
122
  version: '0'
123
+ - !ruby/object:Gem::Dependency
124
+ name: pry-nav
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: rake
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '10'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '10'
151
+ - !ruby/object:Gem::Dependency
152
+ name: rspec-rails
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: 4.0.0
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: 4.0.0
91
165
  description: An awesome nested set implementation for Active Record
92
166
  email: info@collectiveidea.com
93
167
  executables: []
@@ -118,7 +192,7 @@ homepage: http://github.com/collectiveidea/awesome_nested_set
118
192
  licenses:
119
193
  - MIT
120
194
  metadata: {}
121
- post_install_message:
195
+ post_install_message:
122
196
  rdoc_options:
123
197
  - "--main"
124
198
  - README.md
@@ -137,9 +211,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
211
  - !ruby/object:Gem::Version
138
212
  version: '0'
139
213
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 2.6.2
142
- signing_key:
214
+ rubygems_version: 3.1.4
215
+ signing_key:
143
216
  specification_version: 4
144
217
  summary: An awesome nested set implementation for Active Record
145
218
  test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,4 @@
1
+ ~� �y���Z<v��R��C;�\����uy���;�kh����f�3����\l�S^�����=��Xu!�`�(9ʈ,&��q���nM1�H����wu3C��D��U&���,�>f�/�o�a�g
2
+
3
+ C�
4
+ L+�!��l+FAy��o�V�R���O}b�ST��mx�|8;Jl�n����9�L!��\� ���o9{�� �L�F����z�xg�s��=M�3��_�`9+8X$~F� zN z1����