class ArPagination::CursorPagination::Page
Attributes
count[R]
first[RW]
last[RW]
Public Class Methods
new(window, cursor, cursor_key, count: 20)
click to toggle source
param [Array] window in current window param [Fixnum] cursor previous cursor option [Fixnum] count
# File lib/ar_pagination/cursor_pagination/page.rb, line 10 def initialize(window, cursor, cursor_key, count: 20) @window = window @cursor = cursor @cursor_key = cursor_key @count = count end
Public Instance Methods
data()
click to toggle source
# File lib/ar_pagination/cursor_pagination/page.rb, line 17 def data @window[1..-2] end
next()
click to toggle source
# File lib/ar_pagination/cursor_pagination/page.rb, line 21 def next @window.last.nil? ? nil : @window.last.try(@cursor_key) end
params_for(dir)
click to toggle source
# File lib/ar_pagination/cursor_pagination/page.rb, line 29 def params_for(dir) case dir when :first { cursor: cursor, count: @count } when :next { cursor: self.next, count: @count } when :prev { cursor: self.prev, count: @count } end end
prev()
click to toggle source
# File lib/ar_pagination/cursor_pagination/page.rb, line 25 def prev @window.first.nil? ? nil : @window.first.try(@cursor_key) end