Sha256: 63aefe087de3300e7086be7146f77de7d34f259386fe3458e65d36e2de599aca

Contents?: true

Size: 678 Bytes

Versions: 1

Compression:

Stored size: 678 Bytes

Contents

require 'tilt'

module HoganAssets
  class Tilt < Tilt::Template
    self.default_mime_type = 'application/javascript'

    def evaluate(scope, locals, &block)
      compiled_template = Hogan.compile(data)
      code = data.inspect
      template_name = scope.logical_path.inspect
      <<-TEMPLATE
        (function() {
          this.HoganTemplates || (this.HoganTemplates = {});
          this.HoganTemplates[#{template_name}] = new HoganTemplate(#{code});
          this.HoganTemplates[#{template_name}].r = #{compiled_template};
          return HoganTemplates[#{template_name}];
        }).call(this);
      TEMPLATE
    end

    protected

    def prepare; end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hogan_assets-1.0.0 lib/hogan_assets/tilt.rb