class GearedPagination::Cursor
Attributes
values[R]
Public Class Methods
decode(key)
click to toggle source
# File lib/geared_pagination/cursor.rb, line 11 def decode(key) if attributes = ActiveSupport::JSON.decode(Base64.urlsafe_decode64(key)) new **attributes.deep_symbolize_keys end end
encode(page_number: 1, values: {})
click to toggle source
# File lib/geared_pagination/cursor.rb, line 17 def encode(page_number: 1, values: {}) Base64.urlsafe_encode64 ActiveSupport::JSON.encode(page_number: page_number, values: values) end
from_param(key)
click to toggle source
# File lib/geared_pagination/cursor.rb, line 7 def from_param(key) key.present? ? decode(key) : new end
new(page_number: 1, values: {})
click to toggle source
# File lib/geared_pagination/cursor.rb, line 24 def initialize(page_number: 1, values: {}) @page_number, @values = page_number, values end
Public Instance Methods
fetch(attribute)
click to toggle source
# File lib/geared_pagination/cursor.rb, line 32 def fetch(attribute) values.fetch(attribute) end
include?(attribute)
click to toggle source
# File lib/geared_pagination/cursor.rb, line 36 def include?(attribute) values.include?(attribute) end
page_number()
click to toggle source
# File lib/geared_pagination/cursor.rb, line 28 def page_number @page_number > 0 ? @page_number : 1 end