Class: Tenon::AssetDecorator
Instance Method Summary
collapse
#delete_link, #edit_path, #path, #published?
Instance Method Details
#crop_link ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'app/decorators/tenon/asset_decorator.rb', line 20
def crop_link
h.action_link(
'Crop',
[:crop, object],
'crop',
class: 'asset-crop',
data: {
'asset-id' => object.id,
'post-crop-handler' => 'Tenon.features.AssetListPostCropHandler'
}
) if object.attachment_content_type.include?('image') || object.attachment_content_type.include?('video')
end
|
#display_name ⇒ Object
15
16
17
18
|
# File 'app/decorators/tenon/asset_decorator.rb', line 15
def display_name
name = object.title.blank? ? object.attachment_file_name : object.title
h.truncate(name, length: 50)
end
|
#download_link ⇒ Object
41
42
43
|
# File 'app/decorators/tenon/asset_decorator.rb', line 41
def download_link
h.action_link('Download', object.attachment.url, 'download', target: '_')
end
|
#edit_link(opts = {}) ⇒ Object
33
34
35
36
37
38
39
|
# File 'app/decorators/tenon/asset_decorator.rb', line 33
def edit_link(opts = {})
defaults = {
'data-modal-remote' => true,
'data-modal-title' => 'Edit Asset'
}
super(opts.merge(defaults))
end
|
#human_size ⇒ Object
11
12
13
|
# File 'app/decorators/tenon/asset_decorator.rb', line 11
def human_size
h.number_to_human_size(object.attachment_file_size)
end
|
#icon ⇒ Object
3
4
5
|
# File 'app/decorators/tenon/asset_decorator.rb', line 3
def icon
h.asset_icon(object)
end
|
#style_urls ⇒ Object
45
46
47
48
49
50
|
# File 'app/decorators/tenon/asset_decorator.rb', line 45
def style_urls
styles = object.attachment.styles.map do |key, style|
[key, object.attachment.url(key)]
end
Hash[styles]
end
|
#tile ⇒ Object
7
8
9
|
# File 'app/decorators/tenon/asset_decorator.rb', line 7
def tile
h.asset_tile(object)
end
|