Sha256: be226b78caa052f1b90a71e678e571508aa8521f0eefe7cf9259ada1ce6474ac

Contents?: true

Size: 1.75 KB

Versions: 27

Compression:

Stored size: 1.75 KB

Contents

# frozen_string_literal: true

require 'haml/template/options'

# check for a compatible Rails version when Haml is loaded
if (activesupport_spec = Gem.loaded_specs['activesupport'])
  if activesupport_spec.version.to_s < '4.0'
    raise Exception.new("\n\n** Haml now requires Rails 4.0 and later. Use Haml version 4.0.x\n\n")
  end
end

module Haml
  module Filters
    module RailsErb
      extend Plain
      extend TiltFilter
      extend PrecompiledTiltFilter
    end
  end

  class Railtie < ::Rails::Railtie
    initializer :haml do |app|
      ActiveSupport.on_load(:action_view) do
        require "haml/template"

        if defined?(::Sass::Rails::SassTemplate) && app.config.assets.enabled
          require "haml/sass_rails_filter"
        end

        # Any object under ActionView::Template will be defined as the root constant with the same
        # name if it exists. If Erubi is loaded at all, ActionView::Template::Handlers::ERB::Erubi
        # will turn out to be a reference to the ::Erubi module.
        # In Rails 4.2, calling const_defined? results in odd exceptions, which seems to be
        # solved by looking for ::Erubi first.
        # However, in JRuby, the const_defined? finds it anyway, so we must make sure that it's
        # not just a reference to ::Erubi.
        if defined?(::Erubi) && (::ActionView::Template::Handlers::ERB.const_get('Erubi') != ::Erubi)
          require "haml/helpers/safe_erubi_template"
          Haml::Filters::RailsErb.template_class = Haml::SafeErubiTemplate
        else
          require "haml/helpers/safe_erubis_template"
          Haml::Filters::RailsErb.template_class = Haml::SafeErubisTemplate
        end
        Haml::Template.options[:filters] = { 'erb' => Haml::Filters::RailsErb }
      end
    end
  end
end

Version data entries

27 entries across 24 versions & 3 rubygems

Version Path
brakeman-5.1.1 bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb
brakeman-5.1.0 bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb
brakeman-5.0.4 bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb
brakeman-5.0.2 bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb
brakeman-5.0.1 bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb
brakeman-5.0.0 bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb
brakeman-4.10.1 bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb
haml-5.2.1 lib/haml/railtie.rb
brakeman-5.0.0.pre1 bundle/ruby/2.7.0/gems/haml-5.2.0/lib/haml/railtie.rb
brakeman-4.10.0 bundle/ruby/2.7.0/gems/haml-5.1.2/lib/haml/railtie.rb
haml-5.2.0 lib/haml/railtie.rb
brakeman-4.9.1 bundle/ruby/2.7.0/gems/haml-5.1.2/lib/haml/railtie.rb
brakeman-4.9.0 bundle/ruby/2.7.0/gems/haml-5.1.2/lib/haml/railtie.rb
brakeman-4.8.2 bundle/ruby/2.7.0/gems/haml-5.1.2/lib/haml/railtie.rb
brakeman-4.8.1 bundle/ruby/2.4.0/gems/haml-5.1.2/lib/haml/railtie.rb
brakeman-4.8.0 bundle/ruby/2.7.0/gems/haml-5.1.2/lib/haml/railtie.rb
zuora_connect_ui-0.10.0 vendor/ruby/2.6.0/gems/brakeman-4.7.0/bundle/ruby/2.6.0/gems/haml-5.1.2/lib/haml/railtie.rb
zuora_connect_ui-0.10.0 vendor/ruby/2.6.0/gems/brakeman-4.7.1/bundle/ruby/2.6.0/gems/haml-5.1.2/lib/haml/railtie.rb
zuora_connect_ui-0.10.0 vendor/ruby/2.6.0/gems/brakeman-4.7.2/bundle/ruby/2.6.0/gems/haml-5.1.2/lib/haml/railtie.rb
brakeman-4.7.2 bundle/ruby/2.6.0/gems/haml-5.1.2/lib/haml/railtie.rb