class CursorPagination::Cursor
Attributes
cursor[R]
Public Class Methods
decode(cursor)
click to toggle source
# File lib/cursor_pagination.rb, line 14 def self.decode(cursor) unless cursor.nil? new YAML.load(Base64.strict_decode64(cursor)) else new nil end end
from_entity(entity, columns)
click to toggle source
# File lib/cursor_pagination.rb, line 30 def self.from_entity(entity, columns) new value_from_entity(entity, columns) end
new(cursor)
click to toggle source
# File lib/cursor_pagination.rb, line 10 def initialize(cursor) @cursor = cursor end
value_from_entity(entity, columns)
click to toggle source
# File lib/cursor_pagination.rb, line 22 def self.value_from_entity(entity, columns) value = [] columns.each_key do |column| value << entity.send(column) end value.size == 1 ? value.first : value end
Public Instance Methods
empty?()
click to toggle source
# File lib/cursor_pagination.rb, line 38 def empty? cursor.nil? || invalid? end
encoded()
click to toggle source
# File lib/cursor_pagination.rb, line 34 def encoded Base64.strict_encode64 cursor.to_yaml end
invalid?()
click to toggle source
# File lib/cursor_pagination.rb, line 42 def invalid? cursor == -1 end
to_s()
click to toggle source
# File lib/cursor_pagination.rb, line 50 def to_s cursor.nil? ? nil : encoded end
value()
click to toggle source
# File lib/cursor_pagination.rb, line 46 def value @cursor end