18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/pattern_query_helper/pagination.rb', line 18
def self.(count, )
page = [:page]
per_page = [:per_page]
total_pages = (count/(per_page.nonzero? || 1).to_f).ceil
next_page = page + 1 if page.between?(1, total_pages - 1)
previous_page = page - 1 if page.between?(2, total_pages)
first_page = page == 1
last_page = page == total_pages
out_of_range = !page.between?(1,total_pages)
{
count: count,
current_page: page,
next_page: next_page,
previous_page: previous_page,
total_pages: total_pages,
per_page: per_page,
first_page: first_page,
last_page: last_page,
out_of_range: out_of_range
}
end
|