mongoid-autoinc 0.1.3 → 0.3.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.
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