Module: SolidQueueMonitor::PaginationHelper

Defined in:
app/helpers/solid_queue_monitor/pagination_helper.rb

Instance Method Summary collapse

Instance Method Details

#pagination_href(page, extra_params = {}) ⇒ Object



18
19
20
21
# File 'app/helpers/solid_queue_monitor/pagination_helper.rb', line 18

def pagination_href(page, extra_params = {})
  query = request.query_parameters.merge(extra_params).merge(page: page)
  "?#{query.to_query}"
end

#visible_pages(current_page, total_pages) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/helpers/solid_queue_monitor/pagination_helper.rb', line 5

def visible_pages(current_page, total_pages)
  return (1..total_pages).to_a if total_pages <= 7

  case current_page
  when 1..3
    [1, 2, 3, 4, :gap, total_pages]
  when (total_pages - 2)..total_pages
    [1, :gap, total_pages - 3, total_pages - 2, total_pages - 1, total_pages]
  else
    [1, :gap, current_page - 1, current_page, current_page + 1, :gap, total_pages]
  end
end