module Cassie::Statements::Statement::Pagination::Cursors::ClassMethods
Public Instance Methods
cursor_by(key)
click to toggle source
# File lib/cassie/statements/statement/pagination/cursors.rb, line 38 def cursor_by(key) max_cursor key since_cursor key end
max_cursor(key)
click to toggle source
# File lib/cassie/statements/statement/pagination/cursors.rb, line 13 def max_cursor(key) include Cassie::Statements::Execution::Peeking self.partition_linker = Cassie::Statements::Execution::PartitionLinking::CursoringPolicy @max_cursor_key = key where(key,:lteq, value: :"max_#{key}", if: :max_cursor_enabled?) define_max_accessors(key) end
max_cursor_key()
click to toggle source
# File lib/cassie/statements/statement/pagination/cursors.rb, line 43 def max_cursor_key @max_cursor_key.to_s end
since_cursor(key)
click to toggle source
# File lib/cassie/statements/statement/pagination/cursors.rb, line 26 def since_cursor(key) include Cassie::Statements::Execution::Peeking @max_cursor_key = key where(key, :gt, value: :"since_#{key}", if: :since_cursor_enabled?) define_since_accessors(key) end
Private Instance Methods
define_max_accessors(key)
click to toggle source
# File lib/cassie/statements/statement/pagination/cursors.rb, line 49 def define_max_accessors(key) attr_accessor :max_cursor define_method :max_cursor_enabled? do !max_cursor.nil? end getter = :"max_#{key}" remove_method getter if method_defined?(getter) define_method getter do self.max_cursor end setter = :"max_#{key}=" remove_method setter if method_defined?(setter) define_method setter do |val| self.max_cursor = val end end
define_since_accessors(key)
click to toggle source
# File lib/cassie/statements/statement/pagination/cursors.rb, line 69 def define_since_accessors(key) attr_accessor :since_cursor define_method :since_cursor_enabled? do !since_cursor.nil? end getter = :"since_#{key}" remove_method getter if method_defined?(getter) define_method getter do self.since_cursor end setter = :"since_#{key}=" remove_method setter if method_defined?(setter) define_method setter do |val| self.since_cursor = val end end