glebtv-mongoid_nested_set 0.4.3 → 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: 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