major refactoring of post sets and pagination, incomplete
This commit is contained in:
35
app/logical/post_sets/numbered.rb
Normal file
35
app/logical/post_sets/numbered.rb
Normal file
@@ -0,0 +1,35 @@
|
||||
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
|
||||
Reference in New Issue
Block a user