Module: Ramaze::Helper::Paginate
- Defined in:
- lib/ramaze/helper/paginate.rb
Overview
Helper for pagination and pagination-navigation.
See detailed API docs for Paginator below. Also have a look at the examples/helpers/paginate.rb
Defined Under Namespace
Classes: Paginator
Instance Method Summary collapse
-
#paginate(dataset, options = {}) ⇒ Object
Returns a new Paginator instance.
Instance Method Details
#paginate(dataset, options = {}) ⇒ Object
Returns a new Paginator instance.
Note that the pagination relies on being inside a Ramaze request to gain necessary metadata about the page it resides on, you cannot use it outside of Ramaze yet.
The examples below are meant to be used within your controller or view.
Usage with Array:
data = (1..100).to_a
@pager = paginate(data, :limit => 30, :page => 2)
@pager.
@pager.each{|e| puts(e) }
Usage with Sequel:
data = Article.filter(:public => true)
@pager = paginate(data, :limit => 5)
@pager.navigation
@pager.each{|e| puts(e)
dataset
may be a Sequel dataset or Array options
Takes precedence to trait and may contain
following pairs:
:limit The number of elements used when you call #each on the
paginator
:var The variable name being used in the request, this is helpful
if you want to use two or more independent paginations on the
same page.
:page The page you are currently on, if not given it will be
retrieved from current request variables. Defaults to 1 if
neither exists.
53 54 55 56 57 58 59 60 |
# File 'lib/ramaze/helper/paginate.rb', line 53 def paginate(dataset, = {}) = ancestral_trait[:paginate].merge() limit = [:limit] var = [:var] page = [:page] || (request[var] || 1).to_i Paginator.new(dataset, page, limit, var) end |