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