Sha256: 9b83edb99e0b8927fd3320c5deb73ccb9371674c51a03f43787ef698f029702d

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

module Hicube
  module Liquid
    module Tags
      class SnippetTag < ::Liquid::Tag

        # Convention for snippet is 
        # Variable[0] - snippet name
        # Variable[odd] - Name of liquid variable
        # Variable[even] - Value of liquid variable

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

        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
      end

      ::Liquid::Template.register_tag('snippet_tag', SnippetTag)

    end
  end
end 

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
hicube-0.0.11 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.10 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.9 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.8 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.7 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.6 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.5 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.4 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.3 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.2 lib/hicube/liquid/tags/snippet.rb
hicube-0.0.1 lib/hicube/liquid/tags/snippet.rb