main
 1# frozen_string_literal: true
 2
 3class Paginate < SimpleDelegator
 4  attr_reader :page, :page_size
 5
 6  def initialize(query, page:, page_size:)
 7    @query = query
 8    @page = page
 9    @page_size = page_size
10    super(records)
11  end
12
13  def total_count
14    @total_count ||= @query.count
15  end
16
17  def records
18    @records ||= @query.offset(page).limit(page_size)
19  end
20end