Sha256: f01185c9e845b20b4004fc070d3c64ad340b4a1bfe5d035a03be57e9f411e763
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com # All files in this distribution are subject to the terms of the Ruby license. module Ramaze module SequelHelper private def paginator(paginated, target) page_count = paginated.page_count prev_page = paginated.prev_page current_page = paginated.current_page next_page = paginated.next_page lower = (current_page - 3).abs lower = lower == 0 ? 1 : lower out = ['<div class="paginator">'] if prev_page out << %(<a class="paginator_prev" href="#{Rs(target, prev_page)}">< Prev</a>) else out << %(<span class="paginator_prev">< Prev</span>) end if current_page > 3 out << %(<a class="paginator_page" href="#{Rs(target, 1)}">#{1}</a> ... ) end lower.upto(current_page) do |pc| next if pc == current_page out << %(<a class="paginator_page" href="#{Rs(target, pc)}">#{pc}</a>) end out << %(<span class="paginator_current">#{current_page}</span>) current_page.upto([page_count, current_page + 3].min) do |pc| next if pc == current_page out << %(<a class="paginator_page" href="#{Rs(target, pc)}">#{pc}</a>) end if current_page < (page_count - 3) out << %(.. <a class="paginator_page" href="#{Rs(target, page_count)}">#{page_count}</a>) end if next_page out << %(<a class="paginator_next" href="#{Rs(target, next_page)}">Next ></a>) else out << %(<span class="paginator_next">Next ></span>) end out << '</div>' out.join(" ") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ramaze-0.3.0 | lib/ramaze/helper/sequel.rb |
ramaze-0.3.5 | lib/ramaze/helper/sequel.rb |