lib/mongo_mapper/plugins/querying.rb in mongo_mapper-0.8.6 vs lib/mongo_mapper/plugins/querying.rb in mongo_mapper-0.9.0
- old
+ new
@@ -3,10 +3,12 @@
require 'mongo_mapper/plugins/querying/plucky_methods'
module MongoMapper
module Plugins
module Querying
+ extend ActiveSupport::Concern
+
module ClassMethods
include PluckyMethods
def find_each(opts={})
super(opts).each { |doc| yield load(doc) }
@@ -48,11 +50,11 @@
def delete_all(options={})
query(options).remove
end
def destroy(*ids)
- find_some!(ids.flatten).each(&:destroy)
+ find_some!(ids.flatten).each { |doc| doc.destroy }
end
def destroy_all(options={})
find_each(options) { |document| document.destroy }
end
@@ -146,16 +148,15 @@
def destroy
delete
end
def delete
- @_destroyed = true
- self.class.delete(id) unless new?
+ self.class.delete(id).tap { @_destroyed = true } if persisted?
end
private
def create_or_update(options={})
- result = new? ? create(options) : update(options)
+ result = persisted? ? update(options) : create(options)
result != false
end
def create(options={})
save_to_collection(options)
\ No newline at end of file