mongorilla 0.6.0 → 0.6.1

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.
Files changed (2) hide show
  1. data/lib/mongorilla/document.rb +15 -12
  2. metadata +13 -13
@@ -39,11 +39,15 @@ module Mongorilla
39
39
  c.instance_variable_set("@col",Collection.new(col_name))
40
40
 
41
41
  def initialize(doc)
42
- @orig = doc.dup
43
- @doc = doc
42
+ @orig = doc
43
+ @doc = Marshal.load(Marshal.dump(@orig))
44
44
  @changes={}
45
45
  end
46
46
 
47
+ def origin
48
+ @orig
49
+ end
50
+
47
51
  def changes
48
52
  @changes
49
53
  end
@@ -142,24 +146,23 @@ module Mongorilla
142
146
  reset
143
147
  return false
144
148
  end
145
- if @changes
146
- ret = self.class.collection.update(cond,@changes,opt)
147
- if opt[:safe] && ret["n"] != 1
148
- reset
149
- return false
150
- end
149
+ ret = self.class.collection.update(cond,@changes,opt)
150
+ if opt[:safe] && ret["n"] != 1
151
+ reset
152
+ return false
151
153
  end
152
154
  if mode == RELOAD
153
155
  reload
156
+ return true
154
157
  end
155
- @orig = @doc.dup
158
+ @orig = Marshal.load(Marshal.dump(@doc))
156
159
  @changes={}
157
160
  true
158
161
  end
159
162
 
160
163
  def reset
161
164
  @changes={}
162
- @doc = @orig.dup
165
+ @doc = Marshal.load(Marshal.dump(@orig))
163
166
  end
164
167
 
165
168
  def delete
@@ -168,8 +171,8 @@ module Mongorilla
168
171
 
169
172
  def reload
170
173
  @changes={}
171
- @doc = self.class.collection.find_one(id,:master => true)
172
- @orig = @doc.dup
174
+ @orig = self.class.collection.find_one(id,:master => true)
175
+ @doc = Marshal.load(Marshal.dump(@orig))
173
176
  end
174
177
 
175
178
  def c.collection
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.6.0
4
+ version: 0.6.1
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-08 00:00:00.000000000 Z
12
+ date: 2011-12-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mongo
16
- requirement: &21889500 !ruby/object:Gem::Requirement
16
+ requirement: &15662160 !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: *21889500
24
+ version_requirements: *15662160
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &21900320 !ruby/object:Gem::Requirement
27
+ requirement: &15660540 !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: *21900320
35
+ version_requirements: *15660540
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &21910420 !ruby/object:Gem::Requirement
38
+ requirement: &15658880 !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: *21910420
46
+ version_requirements: *15658880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &21920380 !ruby/object:Gem::Requirement
49
+ requirement: &15657280 !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: *21920380
57
+ version_requirements: *15657280
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rcov
60
- requirement: &21919120 !ruby/object:Gem::Requirement
60
+ requirement: &15655960 !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: *21919120
68
+ version_requirements: *15655960
69
69
  description: Small Object Document Mapper for Mongo. you can update atomic with condition
70
70
  email: laten@nifty.com
71
71
  executables: []
@@ -94,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
94
94
  version: '0'
95
95
  segments:
96
96
  - 0
97
- hash: 4484259814971262728
97
+ hash: 2358068409636906117
98
98
  required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements: