Class: Spree::ActiveStorageAdapter::Attachment
- Inherits:
-
Object
- Object
- Spree::ActiveStorageAdapter::Attachment
- Defined in:
- app/models/concerns/spree/active_storage_adapter/attachment.rb
Overview
Decorares AtiveStorage attachment to add methods exptected by Solidus’ Paperclip-oriented attachment support.
Instance Method Summary collapse
- #destroy ⇒ Object
- #exists? ⇒ Boolean
- #filename ⇒ Object
- #height ⇒ Object
-
#initialize(attachment, styles: {}) ⇒ Attachment
constructor
A new instance of Attachment.
- #url(style = nil) ⇒ Object
- #variant(style = nil) ⇒ Object
- #width ⇒ Object
Constructor Details
#initialize(attachment, styles: {}) ⇒ Attachment
Returns a new instance of Attachment.
12 13 14 15 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 12 def initialize(, styles: {}) @attachment = @styles = normalize_styles(styles) end |
Instance Method Details
#destroy ⇒ Object
47 48 49 50 51 52 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 47 def destroy return false unless attached? purge true end |
#exists? ⇒ Boolean
17 18 19 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 17 def exists? attached? end |
#filename ⇒ Object
21 22 23 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 21 def filename blob&.filename.to_s end |
#height ⇒ Object
39 40 41 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 39 def height [:height] end |
#url(style = nil) ⇒ Object
25 26 27 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 25 def url(style = nil) variant(style)&.url end |
#variant(style = nil) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 29 def variant(style = nil) size = style_to_size(style) @attachment.variant( resize_to_limit: size, saver: { strip: true } ).processed end |
#width ⇒ Object
43 44 45 |
# File 'app/models/concerns/spree/active_storage_adapter/attachment.rb', line 43 def width [:width] end |