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
- #file_field_options ⇒ Object
- #index_display_count? ⇒ Boolean
- #index_display_preview? ⇒ Boolean
- #index_preview_only? ⇒ Boolean
- #index_preview_size ⇒ Object
- #index_preview_variant ⇒ 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
- #show_preview_variant ⇒ Object
- #url(attachment) ⇒ Object
- #variant(attachment, options) ⇒ Object
Instance Method Details
#attached? ⇒ Boolean
88 89 90 |
# File 'lib/administrate/field/active_storage.rb', line 88 def attached? data.present? && data.attached? end |
#attachments ⇒ Object
92 93 94 |
# File 'lib/administrate/field/active_storage.rb', line 92 def many? ? data. : [data.] if attached? end |
#blob_url(attachment) ⇒ Object
80 81 82 |
# File 'lib/administrate/field/active_storage.rb', line 80 def blob_url() Rails.application.routes.url_helpers.rails_blob_path(, disposition: :attachment, only_path: true) end |
#can_add_attachment? ⇒ Boolean
84 85 86 |
# File 'lib/administrate/field/active_storage.rb', line 84 def many? || .blank? end |
#destroy_url ⇒ Object
58 59 60 |
# File 'lib/administrate/field/active_storage.rb', line 58 def destroy_url .fetch(:destroy_url, nil) end |
#direct? ⇒ Boolean
54 55 56 |
# File 'lib/administrate/field/active_storage.rb', line 54 def direct? .fetch(:direct_upload, false) end |
#file_field_options ⇒ Object
43 44 45 46 47 48 |
# File 'lib/administrate/field/active_storage.rb', line 43 def { direct_upload: direct?, multiple: many?, }.merge .fetch(:file_field_options, {}) end |
#index_display_count? ⇒ Boolean
27 28 29 |
# File 'lib/administrate/field/active_storage.rb', line 27 def index_display_count? .fetch(:index_display_count) { attached? && .count != 1 } end |
#index_display_preview? ⇒ Boolean
11 12 13 |
# File 'lib/administrate/field/active_storage.rb', line 11 def index_display_preview? .fetch(:index_display_preview, true) end |
#index_preview_only? ⇒ Boolean
23 24 25 |
# File 'lib/administrate/field/active_storage.rb', line 23 def index_preview_only? .fetch(:index_preview_only, false) end |
#index_preview_size ⇒ Object
15 16 17 |
# File 'lib/administrate/field/active_storage.rb', line 15 def index_preview_size .fetch(:index_preview_size, [150, 150]) end |
#index_preview_variant ⇒ Object
19 20 21 |
# File 'lib/administrate/field/active_storage.rb', line 19 def index_preview_variant .fetch(:index_preview_variant, nil) end |
#many? ⇒ Boolean
50 51 52 |
# File 'lib/administrate/field/active_storage.rb', line 50 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
68 69 70 |
# File 'lib/administrate/field/active_storage.rb', line 68 def preview(, ) Rails.application.routes.url_helpers.rails_representation_path(.preview(), only_path: true) end |
#show_display_preview? ⇒ Boolean
31 32 33 |
# File 'lib/administrate/field/active_storage.rb', line 31 def show_display_preview? .fetch(:show_display_preview, true) end |
#show_preview_size ⇒ Object
35 36 37 |
# File 'lib/administrate/field/active_storage.rb', line 35 def show_preview_size .fetch(:show_preview_size, [800, 800]) end |
#show_preview_variant ⇒ Object
39 40 41 |
# File 'lib/administrate/field/active_storage.rb', line 39 def show_preview_variant .fetch(:show_preview_variant, nil) end |
#url(attachment) ⇒ Object
76 77 78 |
# File 'lib/administrate/field/active_storage.rb', line 76 def url() Rails.application.routes.url_helpers.rails_blob_path(, only_path: true) end |
#variant(attachment, options) ⇒ Object
72 73 74 |
# File 'lib/administrate/field/active_storage.rb', line 72 def variant(, ) Rails.application.routes.url_helpers.rails_representation_path(.variant(), only_path: true) end |