class ActiveSet::Paginating::ActiveRecordStrategy

Public Class Methods

new(set, operation_instructions) click to toggle source
# File lib/active_set/paginating/active_record_strategy.rb, line 6
def initialize(set, operation_instructions)
  @set = set
  @operation_instructions = operation_instructions
end

Public Instance Methods

execute() click to toggle source
# File lib/active_set/paginating/active_record_strategy.rb, line 11
def execute
  return false unless @set.respond_to? :to_sql

  @set.limit(@operation_instructions[:size]).offset(page_offset)
end

Private Instance Methods

page_offset() click to toggle source
# File lib/active_set/paginating/active_record_strategy.rb, line 19
def page_offset
  return 0 if @operation_instructions[:page] == 1

  @operation_instructions[:size] * (@operation_instructions[:page] - 1)
end