Sha256: c8979b2f7f699cd3ab42e37bdf0ccc42366cd80e62d71298fc765b57c89a06b2
Contents?: true
Size: 859 Bytes
Versions: 17
Compression:
Stored size: 859 Bytes
Contents
require 'temple' require 'hamlit/compiler' require 'hamlit/html/pretty' require 'hamlit/html/ugly' require 'hamlit/parser' module Hamlit class Engine < Temple::Engine define_options( generator: Temple::Generators::ArrayBuffer, format: :html, attr_quote: "'", ugly: true, ) use Parser use Compiler use :Html, -> { create(html_compiler) } filter :Escapable filter :ControlFlow filter :MultiFlattener filter :StaticMerger use :Generator, -> { create(options[:generator]) } private def create(klass) valid_options = options.to_hash.select do |key, value| klass.options.valid_key?(key) end klass.new(valid_options) end def html_compiler if options[:ugly] HTML::Ugly else HTML::Pretty end end end end
Version data entries
17 entries across 17 versions & 1 rubygems