Files
danbooru/app/presenters/post_set_presenters/base.rb
2020-01-17 07:01:16 +00:00

30 lines
732 B
Ruby

module PostSetPresenters
class Base
def posts
raise NotImplementedError
end
def post_previews_html(template, options = {})
html = ""
if none_shown(options)
return template.render("post_sets/blank")
end
posts.each do |post|
html << PostPresenter.preview(post, options.merge(:tags => @post_set.tag_string, :raw => @post_set.raw))
html << "\n"
end
html.html_safe
end
def not_shown(post, options)
!options[:show_deleted] && post.is_deleted? && @post_set.tag_string !~ /status:(?:all|any|deleted|banned)/ && !@post_set.raw
end
def none_shown(options)
posts.reject {|post| not_shown(post, options) }.empty?
end
end
end