Class: Liquid::Tags::Image

Inherits:
Liquid::Tag
  • Object
show all
Includes:
ActionView::Helpers::AssetTagHelper, ActionView::Helpers::TagHelper, Www::ImagesHelper
Defined in:
app/lib/liquid/tags/image.rb

Instance Method Summary collapse

Methods included from Www::ImagesHelper

#image_asset_tag, #image_asset_url

Constructor Details

#initialize(tag_name, image_params, tokens) ⇒ Image

Returns a new instance of Image.



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

def initialize(tag_name, image_params, tokens)
  args = split_params(image_params)
  @image_id = args[0] if args[0].present?
  @image_alt = args[1] if args[1].present?
  @image_width = args[2] if args[2].present?
  @image_height = args[3] if args[3].present?
  @image_class = args[4] if args[4].present?
  @image_url = args[5] if args[5].present?
  super
end

Instance Method Details

#render(context) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/lib/liquid/tags/image.rb', line 21

def render(context)
  lazyload = !context.environments[0]['preview_mode'].to_b
  output =  image_asset_tag(@image_url,
                        width: @image_width,
                        height: @image_height,
                        alt: @image_alt,
                        class: @image_class,
                        lazyload: lazyload)


  # Render it on the page by returning it
  return output;
end

#split_params(params) ⇒ Object



35
36
37
# File 'app/lib/liquid/tags/image.rb', line 35

def split_params(params)
  CSV.parse(params.gsub(/\s+"/, '"')).flatten.map(&:to_s).map(&:strip)
end