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
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