%ul.pagination %li - if current_page > pages.first = link_to "← Previous", dj_dashboard_job_stats_path(job_name: job_name, type: type, page: current_page - 1) - else ← Previous - if current_page < 9 - pages.slice(0..8).each do |page| - if page == current_page %li.current= page - else %li = link_to page, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: page) %li %span ... %li = link_to pages[-2], dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages[-2]) %li = link_to pages.last, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.last) - elsif current_page >= 9 && current_page < pages.size-8 %li = link_to pages.first, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.first) %li = link_to pages.second, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.second) %li %span ... - ((current_page-4)..(current_page + 4)).each do |page| - if page == current_page %li.current= page - else %li = link_to page, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: page) %li %span ... %li = link_to pages[-2], dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages[-2]) %li = link_to pages.last, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.last) - else %li = link_to pages.first, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.first) %li = link_to pages.second, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: pages.second) - # divider %li %span ... - pages.slice(pages.size-9..pages.size).each do |page| - if page == current_page %li.current= page - else %li = link_to page, dj_dashboard_job_stats_path(job_name: job_name, type: type, page: page) %li - if current_page < pages.last = link_to "Next →", dj_dashboard_job_stats_path(job_name: job_name, type: type, page: current_page + 1) - else Next →