34 lines
786 B
Ruby
34 lines
786 B
Ruby
module PostSetPresenters
|
|
class Favorite
|
|
attr_accessor :favorite_set, :tag_set_presenter
|
|
delegate :favorites, :posts, :to => :favorite_set
|
|
|
|
def initialize(favorite_set)
|
|
@favorite_set = favorite_set
|
|
@tag_set_presenter = TagSetPresenter.new(
|
|
RelatedTagCalculator.calculate_from_sample_to_array(
|
|
favorite_set.tag_string
|
|
).map {|x| x[0]}
|
|
)
|
|
end
|
|
|
|
def tag_list_html(template)
|
|
tag_set_presenter.tag_list_html(template)
|
|
end
|
|
|
|
def post_previews_html(template)
|
|
html = ""
|
|
|
|
if favorites.empty?
|
|
return template.render(:partial => "post_sets/blank")
|
|
end
|
|
|
|
favorites.each do |favorite|
|
|
html << PostPresenter.preview(favorite.post)
|
|
end
|
|
|
|
html.html_safe
|
|
end
|
|
end
|
|
end
|