Class: Hicube::Liquid::Tags::SnippetTag

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/hicube/liquid/tags/snippet.rb

Instance Method Summary collapse

Constructor Details

#initialize(tag_name, variables, tokens) ⇒ SnippetTag

Convention for snippet is Variable - snippet name Variable - Name of liquid variable Variable - Value of liquid variable



11
12
13
14
15
16
# File 'lib/hicube/liquid/tags/snippet.rb', line 11

def initialize(tag_name, variables, tokens)
  @variables = variables.split(" ")
  @snippet = Hicube::Snippet.find_by(name: @variables[0])
  super
rescue
end

Instance Method Details

#render(context) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/hicube/liquid/tags/snippet.rb', line 18

def render(context)
  unless @snippet.nil?
    ::Liquid::Template.parse(@snippet.body).render # @snippet.body
    # @template = ::Liquid::Template.parse(@snippet.body)
    # if @variables.length > 1
    #   @template.render @variables[1] => context[@variables[2].strip]

    #   # FIXME: Handle passing more than one variable
      
    # else
    #   @template.render
    # end
  else
    "snippet_not_found"
  end
end