|
|
@@ -32,7 +32,18 @@ class MediaAttachment < ApplicationRecord |
|
|
|
IMAGE_MIME_TYPES = ['image/jpeg', 'image/png', 'image/gif'].freeze |
|
|
|
VIDEO_MIME_TYPES = ['video/webm', 'video/mp4'].freeze |
|
|
|
|
|
|
|
IMAGE_STYLES = { original: '1280x1280>', small: '400x400>' }.freeze |
|
|
|
IMAGE_STYLES = { |
|
|
|
original: { |
|
|
|
geometry: '1280x1280>', |
|
|
|
file_geometry_parser: FastGeometryParser, |
|
|
|
}, |
|
|
|
|
|
|
|
small: { |
|
|
|
geometry: '400x400>', |
|
|
|
file_geometry_parser: FastGeometryParser, |
|
|
|
}, |
|
|
|
}.freeze |
|
|
|
|
|
|
|
VIDEO_STYLES = { |
|
|
|
small: { |
|
|
|
convert_options: { |
|
|
@@ -167,16 +178,16 @@ class MediaAttachment < ApplicationRecord |
|
|
|
end |
|
|
|
|
|
|
|
def image_geometry(file) |
|
|
|
geo = Paperclip::Geometry.from_file file |
|
|
|
width, height = FastImage.size(file.path) |
|
|
|
|
|
|
|
return {} if width.nil? |
|
|
|
|
|
|
|
{ |
|
|
|
width: geo.width.to_i, |
|
|
|
height: geo.height.to_i, |
|
|
|
size: "#{geo.width.to_i}x#{geo.height.to_i}", |
|
|
|
aspect: geo.width.to_f / geo.height.to_f, |
|
|
|
width: width, |
|
|
|
height: height, |
|
|
|
size: "#{width}x#{height}", |
|
|
|
aspect: width.to_f / height.to_f, |
|
|
|
} |
|
|
|
rescue Paperclip::Errors::NotIdentifiedByImageMagickError |
|
|
|
{} |
|
|
|
end |
|
|
|
|
|
|
|
def video_metadata(file) |
|
|
|