2020-10-13 19:54:16 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Reports
|
|
|
|
class Utils
|
|
|
|
def self.link_prepare(scinote_url, link)
|
|
|
|
link[0] == '/' ? scinote_url + link : link
|
|
|
|
end
|
|
|
|
|
2020-10-28 23:32:22 +08:00
|
|
|
def self.image_prepare(asset)
|
|
|
|
if asset.class == Asset
|
|
|
|
if asset.inline?
|
|
|
|
asset.large_preview
|
|
|
|
else
|
|
|
|
asset.medium_preview
|
|
|
|
end
|
|
|
|
elsif asset.class == TinyMceAsset
|
|
|
|
asset.image
|
|
|
|
end
|
2020-10-13 19:54:16 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
def self.calculate_color_hsp(color)
|
|
|
|
return 255 if color.length != 7
|
|
|
|
|
|
|
|
color = color.delete('#').scan(/.{1,2}/)
|
|
|
|
rgb = color.map(&:hex)
|
|
|
|
Math.sqrt(
|
|
|
|
0.299 * (rgb[0]**2) +
|
|
|
|
0.587 * (rgb[1]**2) +
|
|
|
|
0.114 * (rgb[2]**2)
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|