Class: Tenon::AssetDecorator

Inherits:
ApplicationDecorator show all
Defined in:
app/decorators/tenon/asset_decorator.rb

Instance Method Summary collapse

Methods inherited from ApplicationDecorator

#delete_link, #edit_path, #path, #published?

Instance Method Details



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_nameObject



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


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


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_sizeObject



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

#iconObject



3
4
5
# File 'app/decorators/tenon/asset_decorator.rb', line 3

def icon
  h.asset_icon(object)
end

#style_urlsObject



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

#tileObject



7
8
9
# File 'app/decorators/tenon/asset_decorator.rb', line 7

def tile
  h.asset_tile(object)
end