Sha256: a78b83de9041d49822e6eaa1ebf98ec51151ad96c107021e93d18f57a36e0135

Contents?: true

Size: 679 Bytes

Versions: 8

Compression:

Stored size: 679 Bytes

Contents

require 'temple'
require 'fast_haml/compiler'
require 'fast_haml/html'
require 'fast_haml/parser'

module FastHaml
  class Engine < Temple::Engine
    define_options(
      generator: Temple::Generators::ArrayBuffer,
    )

    DEFAULT_OPTIONS = {
        format: :html,
        attr_quote: "'",
    }.freeze

    def initialize(opts = {})
      super(DEFAULT_OPTIONS.merge(opts))
    end

    use Parser
    use Compiler
    use Html
    filter :Escapable
    filter :ControlFlow
    filter :MultiFlattener
    filter :StaticMerger
    use :Generator do
      options[:generator].new(options.to_hash.reject {|k,v| !options[:generator].options.valid_key?(k) })
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
fast_haml-0.1.7 lib/fast_haml/engine.rb
fast_haml-0.1.6 lib/fast_haml/engine.rb
fast_haml-0.1.5 lib/fast_haml/engine.rb
fast_haml-0.1.4 lib/fast_haml/engine.rb
fast_haml-0.1.3 lib/fast_haml/engine.rb
fast_haml-0.1.2 lib/fast_haml/engine.rb
fast_haml-0.1.1 lib/fast_haml/engine.rb
fast_haml-0.1.0 lib/fast_haml/engine.rb