Class: Alchemy::Admin::PictureThumbnail

Inherits:
ViewComponent::Base
  • Object
show all
Defined in:
app/components/alchemy/admin/picture_thumbnail.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(picture, size: :medium, css_class: nil, placeholder: nil) ⇒ PictureThumbnail

Returns a new instance of PictureThumbnail.



6
7
8
9
10
11
# File 'app/components/alchemy/admin/picture_thumbnail.rb', line 6

def initialize(picture, size: :medium, css_class: nil, placeholder: nil)
  @picture = picture
  @size = size
  @css_class = css_class
  @placeholder = placeholder
end

Instance Attribute Details

#css_classObject (readonly)

Returns the value of attribute css_class.



4
5
6
# File 'app/components/alchemy/admin/picture_thumbnail.rb', line 4

def css_class
  @css_class
end

#pictureObject (readonly)

Returns the value of attribute picture.



4
5
6
# File 'app/components/alchemy/admin/picture_thumbnail.rb', line 4

def picture
  @picture
end

#placeholderObject (readonly)

Returns the value of attribute placeholder.



4
5
6
# File 'app/components/alchemy/admin/picture_thumbnail.rb', line 4

def placeholder
  @placeholder
end

#sizeObject (readonly)

Returns the value of attribute size.



4
5
6
# File 'app/components/alchemy/admin/picture_thumbnail.rb', line 4

def size
  @size
end

Instance Method Details

#callObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/components/alchemy/admin/picture_thumbnail.rb', line 13

def call
  thumbnail_url = picture&.thumbnail_url(size: preview_size)
  if thumbnail_url || placeholder
     "alchemy-picture-thumbnail", placeholder, {
      src: thumbnail_url,
      name: picture&.description_for(::Alchemy::Current.language) || picture&.name,
      class: css_class
    }
  else
    render Alchemy::Admin::Icon.new("file-damage", size: "xl")
  end
end