class RailsPaginate::Pagers::Slider
slider method
Public Instance Methods
inner()
click to toggle source
get option of inner
# File lib/rails_paginate/pagers/slider.rb, line 58 def inner options[:inner] || self.class.inner end
inner_range()
click to toggle source
build dummy inner range
# File lib/rails_paginate/pagers/slider.rb, line 36 def inner_range @inner_range ||= (current_page - inner)..(current_page + inner) end
outer()
click to toggle source
get option of out
# File lib/rails_paginate/pagers/slider.rb, line 63 def outer options[:outer] || self.class.outer end
visible?(page)
click to toggle source
looks should this page visible
# File lib/rails_paginate/pagers/slider.rb, line 41 def visible?(page) # outer if outer > 0 return true if outer >= page return true if (pages - outer) < page end # current page return true if current_page == page # inner return true if inner_range.include? page false end
visible_pages()
click to toggle source
build array with all visible pages
# File lib/rails_paginate/pagers/slider.rb, line 14 def visible_pages visible = [] last_inserted = 0 splited = false (1..pages).each do |page| # insert if visible? page visible << page last_inserted = page splited = false else # need splitter if not splited and outer > 0 and last_inserted < page visible << nil splited = true end end end visible end