# Arel Extra


Provides better performance of grouped ActiveRecord collections.

Add a specialized pagination for collections from sql databases with GROUP BY clauses by computing the total number of results with COUNT(*) OVER ().

# Synopsis

pagy.rb (initializer)
require 'pagy/extras/arel'
@pagy, @items = pagy_arel(a_collection, **vars)

# Methods

This method is the same as the generic pagy method, but with improved speed for SQL GROUP BY collections. (see the pagy doc)

This sub-method is the same as the pagy_get_vars sub-method, but it is called only by the pagy_arel method. (see the pagy_get_vars doc).

This sub-method it is called only by the pagy_get_vars method. It will detect which query to perform based on the active record groups (sql GROUP BYs). In case there aren't group values performs a normal .count(:all), otherwise it will perform a COUNT(*) OVER (). The last tells database to perform a count of all the lines after the GROUP BY clause is applied.