module Mongoid::Orderable::Mixins::Listable

Public Instance Methods

first?(field = nil) click to toggle source
# File lib/mongoid/orderable/mixins/listable.rb, line 39
def first?(field = nil)
  in_list?(field) && orderable_position(field) == orderable_top(field)
end
in_list?(field = nil) click to toggle source
# File lib/mongoid/orderable/mixins/listable.rb, line 7
def in_list?(field = nil)
  persisted? && !orderable_position(field).nil?
end
last?(field = nil) click to toggle source
# File lib/mongoid/orderable/mixins/listable.rb, line 43
def last?(field = nil)
  in_list?(field) && orderable_position(field) == orderable_bottom(field)
end
next_item(field = nil) click to toggle source

Returns the next item in the list

# File lib/mongoid/orderable/mixins/listable.rb, line 34
def next_item(field = nil)
  field ||= default_orderable_field
  orderable_scope(field).where(orderable_field(field) => send(field) + 1).first
end
next_items(field = nil) click to toggle source

Returns items below the current document. Items with a position greater than this document's position.

# File lib/mongoid/orderable/mixins/listable.rb, line 21
def next_items(field = nil)
  field ||= default_orderable_field
  orderable_scope(field).gt(orderable_field(field) => send(field))
end
prev_item(field = nil)
Alias for: previous_item
prev_items(field = nil)
Alias for: previous_items
previous_item(field = nil) click to toggle source

Returns the previous item in the list

# File lib/mongoid/orderable/mixins/listable.rb, line 27
def previous_item(field = nil)
  field ||= default_orderable_field
  orderable_scope(field).where(orderable_field(field) => send(field) - 1).first
end
Also aliased as: prev_item
previous_items(field = nil) click to toggle source

Returns items above the current document. Items with a position lower than this document's position.

# File lib/mongoid/orderable/mixins/listable.rb, line 13
def previous_items(field = nil)
  field ||= default_orderable_field
  orderable_scope(field).lt(orderable_field(field) => send(field))
end
Also aliased as: prev_items