Provides easy pagination and navigation
# File lib/ramaze/helper/paginate.rb, line 116 116: def initialize(data = [], page = 1, limit = 10, var = 'pager', opts = {}) 117: @data, @page, @limit, @var = data, page, limit, var 118: @css = Paginate.trait[:paginate][:css].dup 119: @css.merge!(opts[:css]) if opts[:css] 120: @pager = pager_for(data) 121: @page = @page > page_count ? page_count : @page 122: @pager = pager_for(data) 123: end
# File lib/ramaze/helper/paginate.rb, line 207 207: def count ; @pager.count ; end
# File lib/ramaze/helper/paginate.rb, line 202 202: def current_page; @pager.current_page; end
# File lib/ramaze/helper/paginate.rb, line 199 199: def each(&block); @pager.each(&block); end
# File lib/ramaze/helper/paginate.rb, line 206 206: def empty? ; @pager.empty? ; end
# File lib/ramaze/helper/paginate.rb, line 200 200: def first_page? ; @pager.first_page? ; end
# File lib/ramaze/helper/paginate.rb, line 203 203: def last_page ; @pager.last_page ; end
# File lib/ramaze/helper/paginate.rb, line 204 204: def last_page? ; @pager.last_page? ; end
Useful to omit pager if it’s of no use.
# File lib/ramaze/helper/paginate.rb, line 192 192: def needed? 193: @pager.page_count > 1 194: end
# File lib/ramaze/helper/paginate.rb, line 205 205: def next_page ; @pager.next_page ; end
# File lib/ramaze/helper/paginate.rb, line 224 224: def link(g, n, text = n, hash = {}) 225: text = h(text.to_s) 226: 227: action = Current.action 228: params = request.params.merge(@var.to_s => n) 229: hash[:href] = action.node.r(action.path, params) 230: 231: g.a(hash){ text } 232: end
# File lib/ramaze/helper/paginate.rb, line 211 211: def pager_for(obj) 212: @page = @page < 1 ? 1 : @page 213: 214: case obj 215: when Array 216: ArrayPager.new(obj, @page, @limit) 217: when (defined?(DataMapper::Collection) and DataMapper::Collection) 218: DataMapperPager.new(obj, @page, @limit) 219: else 220: obj.paginate(@page, @limit) 221: end 222: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.