mongorilla 0.7.0 → 0.8.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/ChangeLog +1 -1
- data/lib/mongorilla/cursor.rb +31 -0
- data/lib/mongorilla/document.rb +3 -3
- metadata +14 -13
data/ChangeLog
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
module Mongorilla
|
2
|
+
class Cursor
|
3
|
+
include Enumerable
|
4
|
+
|
5
|
+
def [](idx)
|
6
|
+
if idx < 0
|
7
|
+
idx = @cursor.count + idx
|
8
|
+
return nil if idx < 0
|
9
|
+
end
|
10
|
+
return @members[idx] if @members[idx]
|
11
|
+
ret = @cursor.skip(idx).limit(1).first
|
12
|
+
@members[idx] = ret ? @klass.new(ret) : nil
|
13
|
+
end
|
14
|
+
|
15
|
+
def each
|
16
|
+
@cursor.each do|v|
|
17
|
+
yield @klass.new(v)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def count
|
22
|
+
@cursor.count
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(klass,cursor)
|
26
|
+
@members = {}
|
27
|
+
@klass = klass
|
28
|
+
@cursor = cursor
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/mongorilla/document.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require File.expand_path("../collection.rb",__FILE__)
|
2
|
+
require File.expand_path("../cursor.rb",__FILE__)
|
2
3
|
module Mongorilla
|
3
4
|
module Document
|
4
5
|
RELOAD = :reload
|
@@ -255,7 +256,7 @@ module Mongorilla
|
|
255
256
|
ret = @col.insert(data,opt)
|
256
257
|
if opt[:safe] == true
|
257
258
|
if ret.is_a? Array
|
258
|
-
|
259
|
+
find({:_id => {"$in" => ret}},:master=>true)
|
259
260
|
elsif ret
|
260
261
|
find(ret,:master=>true)
|
261
262
|
end
|
@@ -280,8 +281,7 @@ module Mongorilla
|
|
280
281
|
find_one(cond,opt)
|
281
282
|
else
|
282
283
|
ret = @col.find(cond,opt)
|
283
|
-
|
284
|
-
ret.map{|r| self.new(r)}
|
284
|
+
Cursor.new(self,ret)
|
285
285
|
end
|
286
286
|
end
|
287
287
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongorilla
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mongo
|
16
|
-
requirement: &
|
16
|
+
requirement: &7220940 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *7220940
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &7218560 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.3.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *7218560
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &7296680 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *7296680
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &7293500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.6.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *7293500
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rcov
|
60
|
-
requirement: &
|
60
|
+
requirement: &7385580 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *7385580
|
69
69
|
description: Small Object Document Mapper for Mongo. you can update atomic with condition
|
70
70
|
email: laten@nifty.com
|
71
71
|
executables: []
|
@@ -77,6 +77,7 @@ extra_rdoc_files:
|
|
77
77
|
files:
|
78
78
|
- lib/mongorilla.rb
|
79
79
|
- lib/mongorilla/collection.rb
|
80
|
+
- lib/mongorilla/cursor.rb
|
80
81
|
- lib/mongorilla/document.rb
|
81
82
|
- ChangeLog
|
82
83
|
- LICENSE.txt
|
@@ -96,7 +97,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
96
97
|
version: '0'
|
97
98
|
segments:
|
98
99
|
- 0
|
99
|
-
hash:
|
100
|
+
hash: 1829226667698527621
|
100
101
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
102
|
none: false
|
102
103
|
requirements:
|