mongoid_versioned_atomic 0.0.3 → 0.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d392b2da40b54482e91d89731eed624efb083c76
4
- data.tar.gz: d6685e1bb4bbc37bd5fbc8057afc953ec6215203
3
+ metadata.gz: 337375f358e129874924ae39cad647f60f56cba7
4
+ data.tar.gz: 8f74ef7dab61d6612ba465dc2464cb9918c9db2c
5
5
  SHA512:
6
- metadata.gz: a8970d3797693063c263d6a2f0318e8c3a3054d7c50e03c7b3735f58dde28024c112c4379b22c89ed1b94c4e3825ef2636befbce90be115325ee7edbee002e1f
7
- data.tar.gz: 4db81d6277285e3ea2111c6628ef39791ddb1da9fe3913d8395086db7954fc3d4d3a94b59bb59ce9264711b4c7cf50aab0b67b92cc2b300f8adb1e391ff1e029
6
+ metadata.gz: d4fe6168503237763d71060638b69fb67df2cc08a53df03b3bd5e9de305ec0d1b11f4dbebe561c62036d89c7ca78a3b75eca1e1a3ba3ee9d4878b93d93b42b67
7
+ data.tar.gz: 8ee69f14064cfc0bdb1a2db21f957c06673b670ce1c78d426cd9711f5c5f7914bdbb528876145cf40fda9e63d8c38cf56a41abb49bd911a1303c1ac43320c597
@@ -13,9 +13,17 @@ module MongoidVersionedAtomic
13
13
  attr_accessor :matched_count
14
14
  attr_accessor :modified_count
15
15
  attr_accessor :upserted_id
16
- #before_save :filter_fields
17
- after_create :check_upserted_id
18
- after_update :check_modified_count
16
+
17
+ ## a flag should be set if this was attempted, and it failed.
18
+ ## if it wasnt even attempted, it shouldnt be a problem.
19
+ ## so before_create => make something on.
20
+ ## after create make it "failed" if on and didnt go through.
21
+ ## otherwise make it nil.
22
+
23
+
24
+
25
+ #after_create :check_upserted_id
26
+ #after_update :check_modified_count
19
27
 
20
28
 
21
29
  end
@@ -164,23 +172,33 @@ module MongoidVersionedAtomic
164
172
 
165
173
  end
166
174
 
175
+ =begin
167
176
  ## after create callback , ensures that callback chain is halted if nothing was created.
168
177
  def check_upserted_id
169
- raise DbUnchanged if !self.upserted_id
178
+ if !self.upserted_id && self.versioned_create_result
179
+ self.versioned_create_result = "fail"
180
+ else
181
+ self.versioned_create_result = nil
182
+ end
170
183
  end
171
184
 
172
185
  ## after update callback ensures that callback chain is halted if nothing was modified.
173
186
  def check_modified_count
174
- raise DbUnchanged if !self.modified_count == 1
187
+ if !self.modified_count == 1 && self.versioned_update_result
188
+ self.versioned_update_result = "fail"
189
+ else
190
+ self.versioned_update_result = nil
191
+ end
175
192
  end
176
-
193
+ =end
177
194
  ## overrides the save method on the model.
178
195
  ## calls versioned_create if it is a new record
179
196
  ## otherwise calls versioned_update.
197
+ =begin
180
198
  def save(options = {})
181
199
  self.new_record? ? self.versioned_create(options) : self.versioned_update(options)
182
200
  end
183
-
201
+ =end
184
202
 
185
203
  ## @param query[Hash] : optional query hash.
186
204
  ## @param log[Boolean] : defaults to false, set true if you want to print out the final command sent to mongo.
@@ -223,7 +241,7 @@ module MongoidVersionedAtomic
223
241
 
224
242
  expected_version = 1
225
243
 
226
- begin
244
+
227
245
  prepare_insert(options) do
228
246
 
229
247
  as_document.keys.each do |k|
@@ -245,6 +263,7 @@ module MongoidVersionedAtomic
245
263
  self.matched_count = write_result.matched_count
246
264
  self.modified_count = write_result.modified_count
247
265
  self.upserted_id = write_result.upserted_id
266
+
248
267
  ##as long as it matched a document, or it inserted a document
249
268
  if write_result.matched_count > 0 || write_result.upserted_id
250
269
  self.send("op_success=",true)
@@ -256,9 +275,7 @@ module MongoidVersionedAtomic
256
275
 
257
276
 
258
277
  end
259
- rescue DbUnchanged => error
260
- puts "caught db unchanged error, so callbacks will be halted.-------------------------------------------------------------"
261
- end
278
+
262
279
 
263
280
  end
264
281
 
@@ -320,7 +337,7 @@ module MongoidVersionedAtomic
320
337
  expected_version = curr_doc["version"] + 1
321
338
 
322
339
  ##what happens is that we send the update["$set"][k] to whatever was stored in the dirty_fields.
323
- begin
340
+
324
341
  prepare_update(options) do
325
342
 
326
343
  dirty_fields.keys.each do |k|
@@ -348,9 +365,7 @@ module MongoidVersionedAtomic
348
365
  end
349
366
 
350
367
  end
351
- rescue DbUnchanged => error
352
- #puts "Rescued db unchanged error, so remaining after update callbacks will be halted."
353
- end
368
+
354
369
 
355
370
  end
356
371
 
@@ -1,3 +1,3 @@
1
1
  module MongoidVersionedAtomic
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end