OSS探訪

Ruby appへoffset・keyset・countless等のpaginationを軽量に組み込む

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
4,993
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

Pagyはplain Rubyで実装されたpagination libraryです。offset、countish、countless、keyset、keynav、search、calendar等のpaginatorを一つのpagy methodから選択でき、server-side / client-side navigation helperやJSON向けdataも提供します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

collectionと用途に応じて複数のpagination方式を選べる

v43はoffset、countish、countless、keyset、keynav、search、calendar等のpaginatorを提供し、同じpagy methodから利用する方式へAPIを整理しています。

出典:[1][2]

navigation helperとJSON向けmetadataを同じPagy instanceから生成する

@pagyからserver-sideのnavigation tag、JavaScript版helper、情報表示、URL/data hash等を生成でき、HTMLとJSON APIの両方へpagination情報を渡せます。

出典:[1][2]

向いている用途

Rails等でpagination方式を用途別に切り替えたい場合に向く

通常のOFFSETだけでなく、大きなordered dataset向けkeysetやcountを避けるcountless、search backend連携等を同じlibraryで扱いたいRuby applicationに適します。

出典:[1]

導入前の確認

v43はlegacy APIからの全面redesignとして扱う

READMEはv43を旧code・usage・APIを含むcomplete redesignと位置付けています。既存systemから更新する場合はMigration/Upgrade Guideを確認し、helperやpaginator呼び出しをreviewします。

出典:[1][4]

43.7.0はRuby 3.3以上を要求する

43.7.0のgemspecはrequired_ruby_version >= 3.3を指定しています。application runtimeとCIのRuby versionを先に確認します。

出典:[3][4]

参考にした公式資料

  1. [1]Pagy 43.7.0 README(2026-10-04)
  2. [2]Pagy 43.7.0 Quick Start(2026-10-04)
  3. [3]Pagy 43.7.0 gemspec(2026-10-04)
  4. [4]Pagy 43.7.0 release(2026-10-04)
  5. [5]Pagy MIT license(2026-10-04)
編集部からの補足

Ruby applicationのpaginationを、collection種別やfrontend frameworkへ強く固定せず組み込みたい場合に向きます。v43は旧世代からAPIを全面再設計しているため、既存Pagyから更新する場合はminor upgradeではなくMigration/Upgrade Guideを前提にしてください。

3ステップで試す

  1. 1

    検証用Ruby projectへPagy 43.7.0を追加する

    Ruby 3.3以上の環境でPagyをversion固定してBundler管理へ追加します。

    mkdir pagy-demo && cd pagy-demo && bundle init && bundle add pagy --version 43.7.0
  2. 2

    Pagy CLIのversionを確認する

    43.7.0のCLIが起動することを確認します。

    bundle exec pagy --version
  3. 3

    組み込みdemoをcloneして構成を確認する

    Pagyが同梱するRack demoをlocalへコピーし、serverを起動せずRuby syntaxだけを確認します。実applicationではQuick Startに従いPagy::Methodと必要なpaginator/helperを組み込みます。

    bundle exec pagy clone demo && ruby -c demo.ru
公式READMEで確認

成長

成長の推移 · 直近30日

4,993 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
21
Open PR
0

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • ruby
  • rails
  • sinatra
  • padrino
  • bootstrap
  • bulma
  • searchkick
  • elasticsearch-rails
  • hanami
  • jsonapi
  • meilisearch
  • typesense-rails
Stars
4,993
Forks
443
Watchers
36
Open Issues
0
Contributors
148
所有者種別
User
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/10/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?