Class: Liquid::Tags::Image
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- Liquid::Tags::Image
- Includes:
- ActionView::Helpers::AssetTagHelper, ActionView::Helpers::TagHelper, Www::ImagesHelper
- Defined in:
- app/lib/liquid/tags/image.rb
Instance Method Summary collapse
-
#initialize(tag_name, image_params, tokens) ⇒ Image
constructor
A new instance of Image.
- #render(context) ⇒ Object
- #split_params(params) ⇒ Object
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 |