:always_show_anchors => true,
:link_to_current_page => false,
:params => {}
- }
+ }.freeze
end
# Creates a basic HTML link bar for the given +paginator+. Links will be created
name = options[:name] || DEFAULT_OPTIONS[:name]
params = (options[:params] || DEFAULT_OPTIONS[:params]).clone
- prefix = options[:prefix] || ''
- suffix = options[:suffix] || ''
+ prefix = options[:prefix] || ""
+ suffix = options[:suffix] || ""
pagination_links_each(paginator, options, prefix, suffix) do |n|
params[name] = n
current_page = paginator.current_page
window_pages = current_page.window(options[:window_size]).pages
- return if window_pages.length <= 1 unless link_to_current_page
+ return unless link_to_current_page || window_pages.length > 1
- first, last = paginator.first, paginator.last
+ first = paginator.first
+ last = paginator.last
- html = ''
+ html = ""
html << prefix if prefix
if always_show_anchors && !(wp_first = window_pages[0]).first?
html << yield(first.number)
- html << ' ... ' if wp_first.number - first.number > 1
- html << ' '
+ html << " ... " if wp_first.number - first.number > 1
+ html << " "
end
window_pages.each do |page|
- if current_page == page && !link_to_current_page
- html << page.number.to_s
- else
- html << yield(page.number)
- end
- html << ' '
+ html << if current_page == page && !link_to_current_page
+ page.number.to_s
+ else
+ yield(page.number)
+ end
+ html << " "
end
if always_show_anchors && !(wp_last = window_pages[-1]).last?
- html << ' ... ' if last.number - wp_last.number > 1
+ html << " ... " if last.number - wp_last.number > 1
html << yield(last.number)
end