module Connectors module Helpers module DeleteCommand # when included, this module adds method #delete and alias for it. # Alias name depends on base class name. # We need this alias to forward methods from MongoConnector to resources connectors. def self.included(base) resource_name = base.to_s.underscore_class method_name = "#{resource_name}_delete".to_sym alias_method method_name, :delete end def delete(id, options={}) delete_query = {'_id' => id}.merge(options) r = collection.remove(delete_query) raise RecordNotFound.new("'#{id}' not found") if r['n'] == 0 r end end end end