eBooru/app/presenters/upload_presenter.rb

25 lines
631 B
Ruby
Raw Permalink Normal View History

# frozen_string_literal: true
2010-03-17 19:20:44 -04:00
class UploadPresenter < Presenter
attr_reader :upload
delegate :inline_tag_list_html, to: :tag_set_presenter
2010-03-17 19:20:44 -04:00
def initialize(upload)
@upload = upload
end
def tag_set_presenter
@tag_set_presenter ||= TagSetPresenter.new(normalize_tags(upload.tag_string.split))
end
def strip_metatags(tags)
tags.grep_v(/\A(?:rating|-?parent|-?locked|-?pool|newpool|-?set|-?fav|-?child|upvote|downvote):/i)
end
def normalize_tags(tags)
tags = tags.map(&:downcase)
tags = strip_metatags(tags)
tags.map { |tag| tag.gsub(/(?:#{TagCategory::ALL_NAMES_REGEX}):/, "") }
end
2010-03-17 19:20:44 -04:00
end