module Jinrai::ActiveRecord::CursorMethods

Public Instance Methods

per(num = nil) click to toggle source
# File lib/jinrai/active_record/cursor_methods.rb, line 18
def per(num = nil)
  num ||= default_cursor_per
  if (n = num.to_i).negative? || !(/^\d/ =~ num.to_s)
    self
  else
    self.is_cursored = true
    limit(n)
  end
end
since_cursor() click to toggle source
# File lib/jinrai/active_record/cursor_methods.rb, line 8
def since_cursor
  return unless first
  encode_cursor(first)
end
till_cursor() click to toggle source
# File lib/jinrai/active_record/cursor_methods.rb, line 13
def till_cursor
  return unless last
  encode_cursor(last)
end

Private Instance Methods

encode_cursor(record) click to toggle source
# File lib/jinrai/active_record/cursor_methods.rb, line 30
def encode_cursor(record)
  attributes = default_cursor_format.map do |attr|
    value = record.send(attr)
    value.respond_to?(:iso8601) ? value.iso8601 : value
  end
  Base64.urlsafe_encode64(attributes.join("_"))
end