glebtv-mongoid_nested_set 0.4.3 → 0.5.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0e1e7293361d84a09bef083837a25965156e79ea
4
- data.tar.gz: 0f88693f2a679bf73cbd4b4960afbd6ff6c78aff
3
+ metadata.gz: 318065a4aa31f41caf097a9315ad0ef0a7d15af8
4
+ data.tar.gz: 665e6056dfbe4e764ca76f72f113784a2b0813cb
5
5
  SHA512:
6
- metadata.gz: 986372406b76254d3f874b7f1c0ba3c8a13002049d4c4b2d19858c8c6afc7d99c7d7c1fb0db303263b55b8fecc12e9064e2d1f441fc3c7a584cc00a32c569445
7
- data.tar.gz: bb7b734fdabd023dd5fd1339813b5d55004476068040ef94fbb1c78d8421db9195d92418a29fdc9147300c41d416abdbf416d5cf7b49276003ab5f5c3d31b50e
6
+ metadata.gz: d136b219b6ecdd8dd23f4a594210f7efe7b646288bb1a2ca27ffcc6a77548bc743d31e5e0205d95948a94349249c9dd402ea6e6feeb19af4cd80ffaa6c81ef9a
7
+ data.tar.gz: a6a94a0ba07c7361dda1f2eabaa29fed82962fa3b25a96b7116a464f3495c269c0f7f817203f828146c96e7acbe3115d8a46af61a9b2de01f1cebdcde867018a
data/Gemfile CHANGED
@@ -3,6 +3,14 @@ source "http://rubygems.org"
3
3
  #gem "activemodel", "~> 4.1.0.beta1"
4
4
  #gem "mongoid", "~> 4.0.0.beta1"
5
5
 
6
+ #gem 'database_cleaner', github: 'glebtv/database_cleaner'
7
+ gem 'database_cleaner', path: '/data/database_cleaner'
8
+
9
+ gem 'mongo', github: 'mongodb/mongo-ruby-driver'
10
+ #gem 'mongoid', '~> 5.0.0.beta', github: 'mongodb/mongoid'
11
+ gem 'mongoid', '~> 5.0.0.beta', github: 'glebtv/mongoid'
12
+ #gem 'mongoid', '~> 5.0.0.beta', path: '/data/mongoid'
13
+
6
14
  # Specify your gem's dependencies in glebtv-mongoid_nested_set.gemspec
7
15
  gemspec
8
16
 
@@ -19,16 +19,15 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- s.add_runtime_dependency 'mongoid', [">= 3.1.0", "< 4.1"]
22
+ s.add_runtime_dependency 'mongoid', [">= 5.0.0.beta", "< 6.0"]
23
23
 
24
24
  s.add_development_dependency 'rake'
25
25
  s.add_development_dependency 'rspec'
26
26
  s.add_development_dependency 'bundler'
27
27
  s.add_development_dependency 'simplecov'
28
28
  s.add_development_dependency 'simplecov-rcov'
29
+ s.add_development_dependency 'mongoid-rspec', '2.3.0.beta'
29
30
 
30
- s.add_development_dependency 'rspec-expectations', "~> 2.0"
31
- s.add_development_dependency 'rr'
32
- s.add_development_dependency 'remarkable_mongoid'
31
+ s.add_development_dependency 'rspec-expectations', "~> 3.3"
33
32
  end
34
33
 
@@ -22,9 +22,8 @@ module Mongoid::Acts::NestedSet
22
22
  # set right
23
23
  right = (indices[scope.call(node)] += 1)
24
24
 
25
- node.class.collection.find(:_id => node.id).update(
25
+ node.class.collection.find(:_id => node.id).update_one(
26
26
  {"$set" => {left_field_name => left, right_field_name => right}},
27
- {:safe => true}
28
27
  )
29
28
  end
30
29
 
@@ -125,33 +125,32 @@ module Mongoid::Acts::NestedSet
125
125
  left += width
126
126
  end
127
127
 
128
- scope_class.mongo_session.with(:safe => true) do |session|
129
- collection = session[scope_class.collection_name]
130
- scope = nested_set_scope.remove_order_by
131
-
132
- # allocate space for new move
133
- collection.find(
134
- scope.gte(left_field_name => bound).selector
135
- ).update_all("$inc" => { left_field_name => width })
136
-
137
- collection.find(
138
- scope.gte(right_field_name => bound).selector
139
- ).update_all("$inc" => { right_field_name => width })
140
-
141
- # move the nodes
142
- collection.find(
143
- scope.and(left_field_name => {"$gte" => left}, right_field_name => {"$lt" => left + width}).selector
144
- ).update_all("$inc" => { left_field_name => distance, right_field_name => distance })
145
-
146
- # remove the hole
147
- collection.find(
148
- scope.gt(left_field_name => right).selector
149
- ).update_all("$inc" => { left_field_name => -width })
150
-
151
- collection.find(
152
- scope.gt(right_field_name => right).selector
153
- ).update_all("$inc" => { right_field_name => -width })
154
- end
128
+ client = scope_class.mongo_client
129
+ collection = client[scope_class.collection_name]
130
+ scope = nested_set_scope.remove_order_by
131
+
132
+ # allocate space for new move
133
+ collection.find(
134
+ scope.gte(left_field_name => bound).selector
135
+ ).update_many("$inc" => { left_field_name => width })
136
+
137
+ collection.find(
138
+ scope.gte(right_field_name => bound).selector
139
+ ).update_many("$inc" => { right_field_name => width })
140
+
141
+ # move the nodes
142
+ collection.find(
143
+ scope.and(left_field_name => {"$gte" => left}, right_field_name => {"$lt" => left + width}).selector
144
+ ).update_many("$inc" => { left_field_name => distance, right_field_name => distance })
145
+
146
+ # remove the hole
147
+ collection.find(
148
+ scope.gt(left_field_name => right).selector
149
+ ).update_many("$inc" => { left_field_name => -width })
150
+
151
+ collection.find(
152
+ scope.gt(right_field_name => right).selector
153
+ ).update_many("$inc" => { right_field_name => -width })
155
154
 
156
155
  self.mongoid_set(parent_field_name, new_parent)
157
156
  self.reload_nested_set
@@ -188,7 +187,7 @@ module Mongoid::Acts::NestedSet
188
187
  def update_self_and_descendants_depth
189
188
  if depth?
190
189
  scope_class.each_with_level(self_and_descendants) do |node, level|
191
- node.with(:safe => true).mongoid_set(:depth, level) unless node.depth == level
190
+ node.mongoid_set(:depth, level) unless node.depth == level
192
191
  end
193
192
  self.reload
194
193
  end
@@ -214,12 +213,12 @@ module Mongoid::Acts::NestedSet
214
213
  # update lefts and rights for remaining nodes
215
214
  diff = right - left + 1
216
215
 
217
- c = scope_class.with(:safe => true).where(
216
+ c = scope_class.where(
218
217
  nested_set_scope.where(left_field_name.to_sym.gt => right).selector
219
218
  )
220
219
  mongoid_inc(c, left_field_name, -diff)
221
220
 
222
- c = scope_class.with(:safe => true).where(
221
+ c = scope_class.where(
223
222
  nested_set_scope.where(right_field_name.to_sym.gt => right).selector
224
223
  )
225
224
  mongoid_inc(c, right_field_name, -diff)
@@ -1,3 +1,3 @@
1
1
  module MongoidNestedSet
2
- VERSION = "0.4.3"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -0,0 +1,7 @@
1
+ test:
2
+ clients:
3
+ default:
4
+ database: mongoid_nested_set_test
5
+ hosts:
6
+ - localhost:27017
7
+
@@ -482,11 +482,7 @@ describe "A Mongoid::Document" do
482
482
  end
483
483
 
484
484
  it "cannot move a node to a non-existent target" do
485
- if defined?(Moped::BSON)
486
- @nodes[:mens].parent_id = Moped::BSON::ObjectId.new
487
- else
488
- @nodes[:mens].parent_id = BSON::ObjectId.new
489
- end
485
+ @nodes[:mens].parent_id = BSON::ObjectId.new
490
486
  expect {
491
487
  @nodes[:mens].save
492
488
  }.to raise_error(Mongoid::Errors::MongoidError, /possible.*(exist|found)/)
@@ -1,12 +1,12 @@
1
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'rspec'
4
- require 'rr'
4
+ require 'database_cleaner'
5
5
  require 'active_support'
6
6
  require 'active_support/deprecation'
7
7
  require 'mongoid'
8
+ require 'mongoid-rspec'
8
9
  require 'mongoid_nested_set'
9
- require 'remarkable/mongoid'
10
10
 
11
11
  if ENV['COVERAGE'] == 'yes'
12
12
  require 'simplecov'
@@ -23,23 +23,26 @@ if ENV['COVERAGE'] == 'yes'
23
23
  SimpleCov.start
24
24
  end
25
25
 
26
- module Mongoid::Acts::NestedSet::Matchers
27
- end
28
-
29
- #Mongoid.logger = Logger.new($stdout)
30
- #Moped.logger = Logger.new($stdout)
31
- #Moped.logger.level = Logger::DEBUG
32
-
33
26
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
34
27
  Dir["#{File.dirname(__FILE__)}/models/*.rb"].each {|file| require file }
35
28
  Dir["#{File.dirname(__FILE__)}/matchers/*.rb"].each {|file| require file }
36
29
 
37
- Mongoid.configure do |config|
38
- config.connect_to("mongoid_nested_set_test")
39
- end
30
+ #Mongo::Logger.logger.level = ::Logger::FATAL
31
+
32
+ Mongoid.load!("#{File.dirname(__FILE__)}/mongoid.yml", :test)
40
33
 
41
34
  RSpec.configure do |config|
42
- #config.mock_with :rr
35
+ config.include Mongoid::Matchers, type: :model
36
+
37
+ config.before(:suite) do
38
+ DatabaseCleaner[:mongoid, {client: :default }]
39
+ DatabaseCleaner[:mongoid].strategy = :truncation
40
+ end
41
+
42
+ config.before(:each) do
43
+ DatabaseCleaner.clean
44
+ end
45
+
43
46
  config.include(Mongoid::Acts::NestedSet::Matchers)
44
47
 
45
48
  config.after(:each) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glebtv-mongoid_nested_set
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GlebTV
@@ -9,140 +9,126 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-02 00:00:00.000000000 Z
12
+ date: 2015-08-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongoid
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 3.1.0
21
- - - <
20
+ version: 5.0.0.beta
21
+ - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '4.1'
23
+ version: '6.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: 3.1.0
31
- - - <
30
+ version: 5.0.0.beta
31
+ - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.1'
33
+ version: '6.0'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rake
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  type: :development
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rspec
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: bundler
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  type: :development
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: simplecov
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: simplecov-rcov
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  type: :development
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  - !ruby/object:Gem::Dependency
105
- name: rspec-expectations
105
+ name: mongoid-rspec
106
106
  requirement: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: '2.0'
110
+ version: 2.3.0.beta
111
111
  type: :development
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: '2.0'
117
+ version: 2.3.0.beta
118
118
  - !ruby/object:Gem::Dependency
119
- name: rr
120
- requirement: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- type: :development
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- - !ruby/object:Gem::Dependency
133
- name: remarkable_mongoid
119
+ name: rspec-expectations
134
120
  requirement: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - '>='
122
+ - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '0'
124
+ version: '3.3'
139
125
  type: :development
140
126
  prerelease: false
141
127
  version_requirements: !ruby/object:Gem::Requirement
142
128
  requirements:
143
- - - '>='
129
+ - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: '0'
131
+ version: '3.3'
146
132
  description: Fully featured tree implementation for Mongoid using the nested set model
147
133
  email:
148
134
  - bt@brandonturner.net
@@ -150,12 +136,12 @@ executables: []
150
136
  extensions: []
151
137
  extra_rdoc_files: []
152
138
  files:
153
- - .document
154
- - .gitignore
155
- - .rspec
156
- - .ruby-gemset
157
- - .ruby-version
158
- - .travis.yml
139
+ - ".document"
140
+ - ".gitignore"
141
+ - ".rspec"
142
+ - ".ruby-gemset"
143
+ - ".ruby-version"
144
+ - ".travis.yml"
159
145
  - Gemfile
160
146
  - LICENSE.txt
161
147
  - README.markdown
@@ -186,6 +172,7 @@ files:
186
172
  - spec/models/square_node.rb
187
173
  - spec/models/test_document.rb
188
174
  - spec/models/unscoped_node.rb
175
+ - spec/mongoid.yml
189
176
  - spec/mongoid_nested_set_spec.rb
190
177
  - spec/spec_helper.rb
191
178
  homepage: http://github.com/glebtv/mongoid_nested_set
@@ -198,17 +185,17 @@ require_paths:
198
185
  - lib
199
186
  required_ruby_version: !ruby/object:Gem::Requirement
200
187
  requirements:
201
- - - '>='
188
+ - - ">="
202
189
  - !ruby/object:Gem::Version
203
190
  version: '0'
204
191
  required_rubygems_version: !ruby/object:Gem::Requirement
205
192
  requirements:
206
- - - '>='
193
+ - - ">="
207
194
  - !ruby/object:Gem::Version
208
195
  version: '0'
209
196
  requirements: []
210
197
  rubyforge_project: mongoid_nested_set
211
- rubygems_version: 2.2.1
198
+ rubygems_version: 2.4.5
212
199
  signing_key:
213
200
  specification_version: 4
214
201
  summary: Nested set based tree implementation for Mongoid
@@ -223,5 +210,6 @@ test_files:
223
210
  - spec/models/square_node.rb
224
211
  - spec/models/test_document.rb
225
212
  - spec/models/unscoped_node.rb
213
+ - spec/mongoid.yml
226
214
  - spec/mongoid_nested_set_spec.rb
227
215
  - spec/spec_helper.rb