Sha256: e9d0e90d6bdf30ed1bc065f3fe4408cad63086fdc80b43e0ee837e5caae5ab5c

Contents?: true

Size: 866 Bytes

Versions: 2

Compression:

Stored size: 866 Bytes

Contents

# frozen_string_literal: true
require 'temple'
require 'hamlit/engine'
require 'hamlit/rails_helpers'
require 'hamlit/parser/haml_helpers'
require 'hamlit/parser/haml_util'

module Hamlit
  RailsTemplate = Temple::Templates::Rails.create(
    Hamlit::Engine,
    generator:     Temple::Generators::RailsOutputBuffer,
    register_as:   :haml,
    use_html_safe: true,
    streaming:     true,
  )

  # https://github.com/haml/haml/blob/4.0.7/lib/haml/template.rb
  module HamlHelpers
    require 'hamlit/parser/haml_xss_mods'
    include Hamlit::HamlHelpers::XssMods
  end

  module HamlUtil
    undef :rails_xss_safe? if defined? rails_xss_safe?
    def rails_xss_safe?; true; end
  end
end

# Haml extends Haml::Helpers in ActionView each time.
# It costs much, so Hamlit includes a compatible module at first.
ActionView::Base.send :include, Hamlit::RailsHelpers

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hamlit-2.7.0 lib/hamlit/rails_template.rb
hamlit-2.6.2 lib/hamlit/rails_template.rb