Class: Smithy::Liquid::Tags::Asset::AssetImageTag
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- Smithy::Liquid::Tags::Asset::AssetImageTag
- Defined in:
- lib/smithy/liquid/tags/asset.rb
Constant Summary collapse
- Syntax =
/(#{::Liquid::Expression}+)?/
Instance Method Summary collapse
-
#initialize(tag_name, markup, tokens) ⇒ AssetImageTag
constructor
A new instance of AssetImageTag.
- #render(context) ⇒ Object
Constructor Details
#initialize(tag_name, markup, tokens) ⇒ AssetImageTag
Returns a new instance of AssetImageTag.
7 8 9 10 11 12 13 14 |
# File 'lib/smithy/liquid/tags/asset.rb', line 7 def initialize(tag_name, markup, tokens) if markup =~ Syntax @variable = $1.gsub('\'', '').strip else raise ::Liquid::SyntaxError.new("Syntax Error in '#{@tag_name}' - Valid syntax: asset_image_tag <asset_id|path>") end super end |
Instance Method Details
#render(context) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/smithy/liquid/tags/asset.rb', line 16 def render(context) @asset_id = context[@variable] if @asset = ::Smithy::Asset.find_by_id(@asset_id) @url = @asset.url @alt = @asset.name else @url = @asset_id @alt = '' end controller = context.registers[:controller] controller.view_context.send(:image_tag, @url, :alt => @alt) end |