module ActiveRecord::FinderMethods

def first(limit = nil)


Person.first(3) # returns the first three objects fetched by SELECT * FROM people ORDER BY people.id LIMIT 3
Person.order("created_on DESC").offset(5).first
Person.where(["user_name = :u", { u: user_name }]).first
Person.where(["user_name = ?", user_name]).first
Person.first # returns the first object fetched by SELECT * FROM people ORDER BY people.id LIMIT 1

If no order is defined it will order by primary key.
Find the first record (or first N records if a parameter is supplied).
def first(limit = nil)
  if limit
    find_nth_with_limit(0, limit)
  else
    find_nth 0
  end
end