Module: SimplePagerHelper

Defined in:
lib/simple_pager.rb

Instance Method Summary collapse

Instance Method Details

#simple_pager(collection, per_page = nil, prev_name = 'Previous', next_name = 'More') ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/simple_pager.rb', line 27

def simple_pager(collection,per_page=nil,prev_name='Previous',next_name='More')
  return if !collection
  per_page = collection.first.class.per_page if per_page.blank? and collection.first.class.respond_to?(:per_page)
  per_page ||= 30
  pprev = ''
  pnext = ''
  prefix = ''
  if params[:page] and params[:page].to_i > 1
    if collection.empty?
      prefix = (:p,"There are no more.")
    end
    prevnum = (params[:page].to_i - 1)
    pprev = (:li, link_to( "← #{prev_name}".html_safe, request.query_parameters.merge({:page => (prevnum == 1 ? nil : prevnum)}) ),:class => 'previous')
  end
  if !@no_more_pages and collection.size >= per_page
    pnext = (:li, link_to( "#{next_name} →".html_safe, request.query_parameters.merge({:page => (params[:page] ? params[:page].to_i + 1 : 2)}) ),:class => 'next')
  end
  (prefix + (:ul, (pprev+pnext).html_safe, :class => 'pager')).html_safe
end