Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
53 lines (38 sloc) 1.28 KB


A really simple pagination library, heavily based on the agnostic branch of will_paginate.


Leaf supports pagination for collections responding to total_pages, per_page, previous_page and total_entries in Sinatra views out of the box.

It currently supports two renderers: +Leaf::ViewHelpers::LinkRenderer+ and +Leaf::ViewHelpers::ListRenderer+


gem install leaf

Example usage

require 'rubygems'
require 'sinatra'
require 'leaf'

include Leaf::ViewHelpers::Base

# Needed to paginate any array
# you’ll probably use something else.
require 'leaf/array'

get '/' do
  page = (params[:page]) ? params[:page] : 1
  array = ('a'..'z').to_a

  haml :index, :locals => { 
    :collection => array.paginate({
      :page => page, 
      :per_page => 5

@@ index
= leaf(collection, :renderer => Leaf::ViewHelpers::ListRenderer)
  - collection.each do |letter|
    %li= letter

Authors and credits

Leaf is based on will_paginate which was originally written by PJ Hyett, who later handed over development to Mislav Marohnić. (The library was completely rewritten since then.)

Jump to Line
Something went wrong with that request. Please try again.