Method: OrderQuery#seek

Defined in:
lib/order_query.rb

#seek(*spec) ⇒ OrderQuery::Point

Examples:

users = User.active
user  = users.find(42)
next_user = user.seek(users, [:activated_at, :desc], [:id, :desc]).next

Parameters:

  • scope (ActiveRecord::Relation)

    optional first argument (default: self.class.all)

  • order_spec (Array<Array<Symbol,String>>, OrderQuery::Spec)

Returns:



21
22
23
24
25
26
27
28
29
# File 'lib/order_query.rb', line 21

def seek(*spec)
  fst = spec.first
  if fst.nil? || fst.is_a?(ActiveRecord::Relation) ||
     fst.is_a?(ActiveRecord::Base)
    scope = spec.shift
  end
  scope ||= self.class.all
  scope.seek(*spec).at(self)
end