mongoid-autoinc 0.1.3 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,5 +1,12 @@
1
1
  = mongoid-autoinc
2
2
 
3
+ = Versions
4
+
5
+ Use 0.1.3 for mongoid 2.0
6
+
7
+ use 0.3.0 for mongoid 3.0
8
+
9
+
3
10
  A mongoid plugin to add auto incrementing fields to your documents.
4
11
 
5
12
  {<img src="https://secure.travis-ci.org/80beans/mongoid-autoinc.png" />}[http://travis-ci.org/#!/80beans/mongoid-autoinc]
data/lib/autoinc.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'incrementor'
1
+ require 'autoinc/incrementor'
2
2
 
3
3
  module Mongoid
4
4
 
@@ -1,4 +1,3 @@
1
- # Based on http://ihswebdesign.com/blog/autoincrement-in-mongodb-with-ruby/
2
1
  module Mongoid
3
2
 
4
3
  module Autoinc
@@ -10,7 +9,7 @@ module Mongoid
10
9
  self.model_name = model_name
11
10
  self.field_name = field_name.to_s
12
11
  self.scope_key = scope_key
13
- self.collection = Mongoid.database['auto_increment_counters']
12
+ self.collection = ::Mongoid.default_session['auto_increment_counters']
14
13
  end
15
14
 
16
15
  def key
@@ -20,19 +19,13 @@ module Mongoid
20
19
  end
21
20
  end
22
21
 
23
- def ensuring_document(&block)
24
- collection.insert('_id' => key, 'c' => 0) unless collection.find_one('_id' => key)
25
- yield
26
- end
27
-
28
22
  def inc
29
- ensuring_document do
30
- collection.find_and_modify(
31
- 'query' => { '_id' => key },
32
- 'update' => { '$inc' => { 'c' => 1 } },
33
- 'new' => true
34
- )['c']
35
- end
23
+ collection.find(
24
+ '_id' => key
25
+ ).modify(
26
+ {'$inc' => { 'c' => 1 }},
27
+ :new => true, :upsert => true
28
+ )['c']
36
29
  end
37
30
 
38
31
  end
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Autoinc
3
- VERSION = "0.1.3"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-autoinc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,88 +11,104 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-24 00:00:00.000000000 Z
14
+ date: 2013-02-14 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: mongoid
17
+ name: foreman
18
+ prerelease: false
18
19
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
20
  requirements:
21
21
  - - ! '>='
22
22
  - !ruby/object:Gem::Version
23
23
  version: '0'
24
- type: :runtime
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
24
  none: false
25
+ type: :development
26
+ version_requirements: !ruby/object:Gem::Requirement
28
27
  requirements:
29
28
  - - ! '>='
30
29
  - !ruby/object:Gem::Version
31
30
  version: '0'
31
+ none: false
32
32
  - !ruby/object:Gem::Dependency
33
- name: bson_ext
33
+ name: mongoid
34
+ prerelease: false
34
35
  requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: 3.0.0
40
+ none: false
41
+ type: :runtime
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.0
35
47
  none: false
48
+ - !ruby/object:Gem::Dependency
49
+ name: bson_ext
50
+ prerelease: false
51
+ requirement: !ruby/object:Gem::Requirement
36
52
  requirements:
37
53
  - - ! '>='
38
54
  - !ruby/object:Gem::Version
39
55
  version: '0'
56
+ none: false
40
57
  type: :runtime
41
- prerelease: false
42
58
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
59
  requirements:
45
60
  - - ! '>='
46
61
  - !ruby/object:Gem::Version
47
62
  version: '0'
63
+ none: false
48
64
  - !ruby/object:Gem::Dependency
49
65
  name: rspec
66
+ prerelease: false
50
67
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
68
  requirements:
53
69
  - - ! '>='
54
70
  - !ruby/object:Gem::Version
55
71
  version: '0'
72
+ none: false
56
73
  type: :runtime
57
- prerelease: false
58
74
  version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
75
  requirements:
61
76
  - - ! '>='
62
77
  - !ruby/object:Gem::Version
63
78
  version: '0'
79
+ none: false
64
80
  - !ruby/object:Gem::Dependency
65
81
  name: activesupport
82
+ prerelease: false
66
83
  requirement: !ruby/object:Gem::Requirement
67
- none: false
68
84
  requirements:
69
85
  - - ! '>='
70
86
  - !ruby/object:Gem::Version
71
87
  version: '0'
88
+ none: false
72
89
  type: :runtime
73
- prerelease: false
74
90
  version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
91
  requirements:
77
92
  - - ! '>='
78
93
  - !ruby/object:Gem::Version
79
94
  version: '0'
95
+ none: false
80
96
  - !ruby/object:Gem::Dependency
81
97
  name: rake
98
+ prerelease: false
82
99
  requirement: !ruby/object:Gem::Requirement
83
- none: false
84
100
  requirements:
85
101
  - - ! '>='
86
102
  - !ruby/object:Gem::Version
87
103
  version: '0'
104
+ none: false
88
105
  type: :runtime
89
- prerelease: false
90
106
  version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
107
  requirements:
93
108
  - - ! '>='
94
109
  - !ruby/object:Gem::Version
95
110
  version: '0'
111
+ none: false
96
112
  description: Think auto incrementing field from MySQL for mongoid.
97
113
  email:
98
114
  - robert@80beans.com
@@ -102,9 +118,9 @@ executables: []
102
118
  extensions: []
103
119
  extra_rdoc_files: []
104
120
  files:
121
+ - lib/autoinc/incrementor.rb
105
122
  - lib/autoinc/version.rb
106
123
  - lib/autoinc.rb
107
- - lib/incrementor.rb
108
124
  - README.rdoc
109
125
  homepage: https://github.com/80beans/mongoid-autoinc
110
126
  licenses: []
@@ -113,20 +129,20 @@ rdoc_options: []
113
129
  require_paths:
114
130
  - lib
115
131
  required_ruby_version: !ruby/object:Gem::Requirement
116
- none: false
117
132
  requirements:
118
133
  - - ! '>='
119
134
  - !ruby/object:Gem::Version
120
135
  version: '0'
121
- required_rubygems_version: !ruby/object:Gem::Requirement
122
136
  none: false
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
138
  requirements:
124
139
  - - ! '>='
125
140
  - !ruby/object:Gem::Version
126
141
  version: '0'
142
+ none: false
127
143
  requirements: []
128
144
  rubyforge_project:
129
- rubygems_version: 1.8.19
145
+ rubygems_version: 1.8.24
130
146
  signing_key:
131
147
  specification_version: 3
132
148
  summary: Add auto incrementing fields to mongoid documents