The public API of Pagy is composed by 3 groups of modules:
The low level structure needed for standard usage. It’s composed of just one class and two modules:
- The Pagy core class that implements the pagination logic
- The Pagy::Backend module to include in your controllers
- The Pagy::Frontend module to include in your helpers
These modules/classes provide support for special environments or features that go beyond the standard usage:
- The Pagy::Calendar subclass that that paginates the collection by calendar units (year, quarter, month, week, day) used by the calendar extra.
- The Pagy::Countless subclass that provides the pagination without a count used by the countless extra. (It saves one count query per request).
- The Pagy::Console module that provides easy interaction with pagy in the IRB/rails console
- The Pagy::I18n module that provides multi-language translation of the pagy strings
Pagy provides also a growing number of optional extensions/extras that can handle special features, collections or environments. See the extras doc for the full list.