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 +7 -0
- data/lib/autoinc.rb +1 -1
- data/lib/{incrementor.rb → autoinc/incrementor.rb} +7 -14
- data/lib/autoinc/version.rb +1 -1
- metadata +39 -23
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,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.
|
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
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
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
|
data/lib/autoinc/version.rb
CHANGED
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.
|
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:
|
14
|
+
date: 2013-02-14 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
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:
|
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.
|
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
|