Class: Liquid::UrlMedia

Inherits:
DmCore::LiquidTag
  • Object
show all
Includes:
ActionView::Helpers::AssetTagHelper, ActionView::Helpers::TagHelper, DmCore::AccountHelper, DmCore::ParamsHelper, DmCore::UrlHelper
Defined in:
lib/dm_cms/liquid/tags/url_media.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.detailsObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/dm_cms/liquid/tags/url_media.rb', line 21

def self.details
  { name: self.tag_name,
    summary: 'Returns url of a media file',
    category: 'url',
    description: <<-END_OF_DESCRIPTION
Give the location/url of a media file. It is relative to the site's media directory unless a full path/url is given.

~~~
{% url_media src: '2014/something.pdf' %}

{% url_media src: 'course/lesson1.mp3' %}

{% url_media src: 'nature/desert.jpg', version: 'retina_lg' %}

~~~
END_OF_DESCRIPTION
  }
end

Instance Method Details

#render(context) ⇒ Object




10
11
12
13
14
15
16
17
18
19
# File 'lib/dm_cms/liquid/tags/url_media.rb', line 10

def render(context)
  if @attributes['version']
    #--- pull from MediaFile object
    src = MediaFile.url_by_name(@attributes['src'], version: @attributes['version'])
  else
    #--- handle like regular url
    src = file_url(@attributes['src'], account_site_assets: (context), default_folder: 'media', protected: @attributes['protected'].as_boolean)
  end
  return src.nil? ? '' : src
end