2
0
mirror of https://github.com/moebooru/moebooru synced 2025-08-22 09:57:31 +00:00
moebooru/lib/external_post.rb

77 lines
1.5 KiB
Ruby
Raw Permalink Normal View History

class ExternalPost
# These mimic the equivalent attributes in Post directly.
attr_accessor :md5, :url, :preview_url, :sample_url, :service, :width, :height, :tags, :rating, :id, :similarity
class << self
def get_service_icon(service)
filename =
case service
# FIXME: figure out why it's empty string
2024-01-08 19:39:01 +09:00
when "", CONFIG["local_image_service"]
nil
when "gelbooru.com" # hack
"#{service}.png"
else
"#{service}.ico"
end
if filename.present?
ApplicationController.helpers.image_url "favicons/#{filename}"
else
"/favicon.ico"
end
end
end
def service_icon
ExternalPost.get_service_icon(service)
end
2014-08-23 20:19:29 +09:00
def ext
true
end
2014-08-23 20:19:29 +09:00
def cached_tags
tags
end
def to_xml(options = {})
2024-01-08 19:39:01 +09:00
{ md5: md5, url: url, preview_url: preview_url, service: service }.to_xml(options.merge(root: "external-post"))
end
def preview_dimensions
2024-01-08 19:39:01 +09:00
dim = Moebooru::Resizer.reduce_to({ width: width, height: height }, width: 150, height: 150)
[ dim[:width], dim[:height] ]
end
def use_jpeg?(_user)
false
end
2014-08-23 20:19:29 +09:00
def has_jpeg?
false
end
def is_flagged?
false
end
2014-08-23 20:19:29 +09:00
def has_children?
false
end
2014-08-23 20:19:29 +09:00
def is_pending?
false
end
2014-08-23 20:19:29 +09:00
def parent_id
nil
end
# For external posts, we only link to the page containing the image, not directly
# to the image itself, so url and file_url are the same.
def file_url
url
end
end