30 lines
593 B
Ruby
30 lines
593 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Onebox
|
|
module Engine
|
|
class PdfOnebox
|
|
include Engine
|
|
include LayoutSupport
|
|
|
|
matches_regexp(%r{^(https?:)?//.*\.pdf(\?.*)?$}i)
|
|
always_https
|
|
|
|
private
|
|
|
|
def data
|
|
begin
|
|
size = Onebox::Helpers.fetch_content_length(@url)
|
|
rescue StandardError
|
|
raise "Unable to read pdf file: #{@url}"
|
|
end
|
|
|
|
{
|
|
link: link,
|
|
title: File.basename(uri.path),
|
|
filesize: size ? Onebox::Helpers.pretty_filesize(size.to_i) : nil,
|
|
}
|
|
end
|
|
end
|
|
end
|
|
end
|