Sha256: bbf56c4c63ac228e3f901f0783120e5827dfeae2099694789ec9474b5c8368b8

Contents?: true

Size: 826 Bytes

Versions: 1

Compression:

Stored size: 826 Bytes

Contents

require 'precompiled_haml/parser'
require 'precompiled_haml/compiler'
require 'precompiled_haml/options'

module PrecompiledHaml
  class Engine < Haml::Engine
    # This is identical to Haml::Engine#initialize, cause I don't undestand how
    # to call super method in inhereted class context (to use
    # PrecompiledHaml::Options instead of Haml::Options)
    # https://gist.github.com/Mik-die/5321100
    def initialize(template, options = {})
      @options = Options.new(options)

      @template = check_haml_encoding(template) do |msg, line|
        raise Haml::Error.new(msg, line)
      end

      initialize_encoding options[:encoding]

      @parser   = @options.parser_class.new(@template, @options)
      @compiler = @options.compiler_class.new(@options)

      @compiler.compile(@parser.parse)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
precompiled_haml-0.0.1 lib/precompiled_haml/engine.rb