* Refactored PostSet, splitting it into PostSets::Post and PostSets::Favorite
* Additional functional tests
This commit is contained in:
39
app/logical/post_sets/base.rb
Normal file
39
app/logical/post_sets/base.rb
Normal file
@@ -0,0 +1,39 @@
|
||||
module PostSets
|
||||
class Base
|
||||
attr_accessor :page, :before_id, :count
|
||||
|
||||
def initialize(options = {})
|
||||
@page = options[:page].to_i
|
||||
@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
|
||||
@presnter ||= PostSetPresenter.new(self)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user