class Gizmo::Find
Public Instance Methods
call(criteria, id=nil)
click to toggle source
Find
a single item using the provided criteria.
@param [Mongoid::Criteria] criteria the criteria to use for finding a single item @param [String, Moped::BSON::ObjectId] id the ID of the item being found
@return [Gizmo::Response]
# File lib/gizmo/find.rb, line 10 def call(criteria, id=nil) response = create_response if criteria.is_a? Mongoid::Criteria response.data = criteria.where(:id=>id).first elsif !criteria.respond_to?(:find) && id.nil? response.data = criteria else response.data = criteria.find id end raise Mongoid::Errors::DocumentNotFound.new(criteria.klass, :id=>id) if response.data.nil? response end