Files
danbooru/app/logical/post_sets/numbered.rb

36 lines
584 B
Ruby

module PostSets
module Numbered
attr_reader :page
def initialize(params)
super
@page = options[:page] ? options[:page].to_i : 1
end
def total_pages
@total_pages ||= (count / limit.to_f).ceil.to_i
end
def reload
super
@total_pages = nil
end
def slice(relation)
relation.offset(offset).all
end
def pagination_options
{:offset => offset}
end
def is_first_page?
offset == 0
end
def offset
((page < 1) ? 0 : (page - 1)) * limit
end
end
end