module ActiveHouse::Querying::Page
Public Instance Methods
initial_values()
click to toggle source
Calls superclass method
# File lib/active_house/querying/page.rb, line 6 def initial_values super.merge page_number: nil end
page(page_number)
click to toggle source
# File lib/active_house/querying/page.rb, line 10 def page(page_number) dup.page!(page_number) end
page!(page_number)
click to toggle source
# File lib/active_house/querying/page.rb, line 14 def page!(page_number) page_number ||= 1 raise ArgumentError, 'page_number must be >= 1' if page_number < 1 values[:page_number] = page_number self end
per(page_size)
click to toggle source
# File lib/active_house/querying/page.rb, line 22 def per(page_size) page_number = values[:page_number] || 1 raise ArgumentError, 'page_number must be >= 1' if page_number < 1 raise ArgumentError, 'page_size must be >= 0' if page_size < 0 offset = (page_number - 1) * page_size records = limit(page_size, offset).to_a total_count = count Kaminari.paginate_array(records, total_count: total_count).page(page_number).per(page_size) end