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
74 75 76 |
# File 'lib/administrate/field/active_storage.rb', line 74 def attached? data.present? && data.attached? end |
#attachments ⇒ Object
78 79 80 |
# File 'lib/administrate/field/active_storage.rb', line 78 def data. if attached? end |
#blob_url(attachment) ⇒ Object
66 67 68 |
# File 'lib/administrate/field/active_storage.rb', line 66 def blob_url() Rails.application.routes.url_helpers.rails_blob_path(, disposition: :attachment, only_path: true) end |
#can_add_attachment? ⇒ Boolean
70 71 72 |
# File 'lib/administrate/field/active_storage.rb', line 70 def many? || .blank? end |
#destroy_url ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/administrate/field/active_storage.rb', line 38 def destroy_url .fetch(:destroy_url) do proc do |namespace, record, | = [.name, namespace, record] << { attachment_id: .id } if many? end end 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) { .present? && .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
54 55 56 |
# File 'lib/administrate/field/active_storage.rb', line 54 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
62 63 64 |
# File 'lib/administrate/field/active_storage.rb', line 62 def url() Rails.application.routes.url_helpers.rails_blob_path(, only_path: true) end |
#variant(attachment, options) ⇒ Object
58 59 60 |
# File 'lib/administrate/field/active_storage.rb', line 58 def variant(, ) Rails.application.routes.url_helpers.rails_representation_path(.variant(combine_options: ), only_path: true) end |