Sha256: 70ef9572a9cab1d9f0e0f2f849a38cd501a839ad9f8402c666071c6b162d2212

Contents?: true

Size: 701 Bytes

Versions: 3

Compression:

Stored size: 701 Bytes

Contents

require 'malt/engines/abstract'

module Malt::Engine

  # Liquid
  #
  #   http://liquid.rubyforge.org/
  #
  class Liquid < Abstract

    default :liquid

    #
    def intermediate(params)
      text = params[:text]
      ::Liquid::Template.parse(text)
    end

    #
    def render(params={}, &yld) #file, db, &yld)
      text = params[:text]
      data = params[:data]
      data = make_hash(data, &yld)
      data = data.rekey{ |k| k.to_s }
      engine = intermediate(params)
      engine.render(data)
    end

    private

    # Load Liquid library if not already loaded.
    def initialize_engine
      return if defined? ::Liquid::Template
      require_library 'liquid'
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
malt-0.3.0 lib/malt/engines/liquid.rb
malt-0.2.0 lib/malt/engines/liquid.rb
malt-0.1.1 lib/malt/engines/liquid.rb