def find(ids)
      raise RecordNotFound.new("Couldn't find #{name} without an ID") if ids.nil?
      results = [*ids].map do |id|
        find_by!(id: id.to_i)
      end
      return __new_relation__(results) if ids.class == Array
      results.first
    end
def find(ids)
      raise RecordNotFound.new("Couldn't find #{name} without an ID") if ids.nil?
      results = [*ids].map do |id|
        find_by!(id: id.to_i)
      end
      return __new_relation__(results) if ids.class == Array
      results.first
    end
Find by id - This can either be a specific id (1), a list of ids (1, 5, 6), or an array of ids ([5, 6, 10]).
 If no record can be found for all of the listed ids, then RecordNotFound will be raised. If the primary key
 is an integer, find by id coerces its arguments using +to_i+.

   Person.find(1)          # returns the object for ID = 1
   Person.find(1, 2, 6)    # returns an array for objects with IDs in (1, 2, 6)
   Person.find([7, 17])    # returns an array for objects with IDs in (7, 17)
   Person.find([1])        # returns an array for the object with ID = 1

 <tt>ActiveMocker::RecordNotFound</tt> will be raised if one or more ids are not found.