# Pagy Playground

You can showcase, clone and develop a few pagy APPs without the need to setup anything on your side!

$ bundle exec pagy --help

# Pagy Apps

We have a few single-file apps ready to run in your browser for various purposes: they are all tested and used to run the E2e Test workflow.

# 1. Repro App

You can use this app as a starting point to try pagy or reproduce issues, in order to get support or file bugs reports.

Clone the repro app
bundle exec pagy clone repro

You should find the ./repro.ru cloned app file in the current dir. Feel free to rename or move it as you like.

Develop it

This command runs your rackup app with a puma server. It also uses rerun to auto-restart it when it changes (only on linux platforms):

bundle exec pagy path/to/your-repro.ru

Point a browser to http://0.0.0.0:8000

Edit it at will.

# 2. Rails App

You can use this app as a starting point to reproduce rails related pagy issues. It has the same usage as the Repro App. i.e.:

bundle exec pagy clone rails
bundle exec pagy ./rails.ru

# 3. Demo App

This is the interactive showcase for all the pagy helpers and CSS styles.

Run bundle exec pagy clone demo to inspect the app file

If you want to see how your CSSs changes look, you can follow the same usage as the Repro App to iterate through changes.

# 4. Calendar App

This is the interactive showcase/repro for the calendar extra:

Run bundle exec pagy clone calendar to inspect the app file.

If you need to reproduce any calendar related issue, you can follow the same usage as the Repro App.

# 5. Keyset Apps

This are the interactive showcase/repro for the keyset extra with ActiveRecord or Sequel sets:

Run pagy clone keyset_ar or pagy clone keyset_s to inspect the app file.

# Troubleshooting

All the pagy apps use bundler/inline.

Depending on your environment you might get this message for some gem:

You have already activated GEMNAME v1, but your Gemfile requires GEMNAME v2. 
Prepending `bundle exec` to your command may solve this.

If bundle exec doesn't solve it, then try bundle update and gem cleanup.

If after that you get into another error:

... `find_spec_for_exe': can't find gem GEMNAME (>= 0.x) with executable EXEC (Gem::GemNotFoundException)

then gem pristine GEMNAME should solve the problem.

Rerun is used for restarting your app automatically during development (only on linux platforms).

That's very convenient, but it may still have some rough edges: