Use Active Storage to validate custom image size

The same way we're handling images.
This commit is contained in:
Javi Martín
2021-07-27 23:21:00 +02:00
parent 8e6df7f5d9
commit 7daf75d01a

View File

@@ -50,14 +50,16 @@ class SiteCustomization::Image < ApplicationRecord
def check_image def check_image
return unless image? return unless image?
dimensions = Paperclip::Geometry.from_file(image.queued_for_write[:original].path) storage_image.analyze unless storage_image.analyzed?
width = storage_image.metadata[:width]
height = storage_image.metadata[:height]
if name == "logo_header" if name == "logo_header"
errors.add(:image, :image_width, required_width: required_width) unless dimensions.width <= required_width errors.add(:image, :image_width, required_width: required_width) unless width <= required_width
else else
errors.add(:image, :image_width, required_width: required_width) unless dimensions.width == required_width errors.add(:image, :image_width, required_width: required_width) unless width == required_width
end end
errors.add(:image, :image_height, required_height: required_height) unless dimensions.height == required_height errors.add(:image, :image_height, required_height: required_height) unless height == required_height
end end
end end