Files
danbooru/app/logical/post_sets/base.rb
2011-02-25 17:41:00 -05:00

48 lines
792 B
Ruby

module PostSets
class Base
attr_accessor :page, :before_id, :count, :posts
def initialize(options = {})
@page = options[:page] ? options[:page].to_i : 1
@before_id = options[:before_id]
load_posts
end
def has_wiki?
false
end
def use_sequential_paginator?
!use_numbered_paginator?
end
def use_numbered_paginator?
before_id.nil?
end
def load_posts
raise NotImplementedError
end
def to_xml
posts.to_xml
end
def to_json
posts.to_json
end
def presenter
@presenter ||= PostSetPresenter.new(self)
end
def offset
((page < 1) ? 0 : (page - 1)) * count
end
def limit
Danbooru.config.posts_per_page
end
end
end