Class: Administrate::Field::ActiveStorage
- Inherits:
-
Base
- Object
- Base
- Administrate::Field::ActiveStorage
- Defined in:
- lib/administrate/field/active_storage.rb
Defined Under Namespace
Classes: Engine
Instance Method Summary collapse
- #attached? ⇒ Boolean
- #attachments ⇒ Object
- #blob_url(attachment) ⇒ Object
- #can_add_attachment? ⇒ Boolean
- #destroy_url ⇒ Object
- #direct? ⇒ Boolean
- #index_display_count? ⇒ Boolean
- #index_display_preview? ⇒ Boolean
- #index_preview_size ⇒ Object
- #many? ⇒ Boolean
-
#preview(attachment, options) ⇒ Object
work around since calling data.preview(options) returns “/images/<ActiveStorage::Preview>” which isnt the url.
- #show_display_preview? ⇒ Boolean
- #show_preview_size ⇒ Object
- #url(attachment) ⇒ Object
- #variant(attachment, options) ⇒ Object
Instance Method Details
#attached? ⇒ Boolean
68 69 70 |
# File 'lib/administrate/field/active_storage.rb', line 68 def attached? data.present? && data.attached? end |
#attachments ⇒ Object
72 73 74 |
# File 'lib/administrate/field/active_storage.rb', line 72 def many? ? data. : [data.] if attached? end |
#blob_url(attachment) ⇒ Object
60 61 62 |
# File 'lib/administrate/field/active_storage.rb', line 60 def blob_url() Rails.application.routes.url_helpers.rails_blob_path(, disposition: :attachment, only_path: true) end |
#can_add_attachment? ⇒ Boolean
64 65 66 |
# File 'lib/administrate/field/active_storage.rb', line 64 def many? || .blank? end |
#destroy_url ⇒ Object
38 39 40 |
# File 'lib/administrate/field/active_storage.rb', line 38 def destroy_url .fetch(:destroy_url, nil) end |
#direct? ⇒ Boolean
34 35 36 |
# File 'lib/administrate/field/active_storage.rb', line 34 def direct? .fetch(:direct_upload, false) end |
#index_display_count? ⇒ Boolean
18 19 20 |
# File 'lib/administrate/field/active_storage.rb', line 18 def index_display_count? .fetch(:index_display_count) { attached? && .count != 1 } end |
#index_display_preview? ⇒ Boolean
10 11 12 |
# File 'lib/administrate/field/active_storage.rb', line 10 def index_display_preview? .fetch(:index_display_preview, true) end |
#index_preview_size ⇒ Object
14 15 16 |
# File 'lib/administrate/field/active_storage.rb', line 14 def index_preview_size .fetch(:index_preview_size, [150, 150]) end |
#many? ⇒ Boolean
30 31 32 |
# File 'lib/administrate/field/active_storage.rb', line 30 def many? data.is_a? ::ActiveStorage::Attached::Many end |
#preview(attachment, options) ⇒ Object
work around since calling data.preview(options) returns “/images/<ActiveStorage::Preview>” which isnt the url
48 49 50 |
# File 'lib/administrate/field/active_storage.rb', line 48 def preview(, ) Rails.application.routes.url_helpers.rails_representation_path(.preview(), only_path: true) end |
#show_display_preview? ⇒ Boolean
22 23 24 |
# File 'lib/administrate/field/active_storage.rb', line 22 def show_display_preview? .fetch(:show_display_preview, true) end |
#show_preview_size ⇒ Object
26 27 28 |
# File 'lib/administrate/field/active_storage.rb', line 26 def show_preview_size .fetch(:show_preview_size, [800, 800]) end |
#url(attachment) ⇒ Object
56 57 58 |
# File 'lib/administrate/field/active_storage.rb', line 56 def url() Rails.application.routes.url_helpers.rails_blob_path(, only_path: true) end |
#variant(attachment, options) ⇒ Object
52 53 54 |
# File 'lib/administrate/field/active_storage.rb', line 52 def variant(, ) Rails.application.routes.url_helpers.rails_representation_path(.variant(), only_path: true) end |