Sha256: dea3e437a976e7dd10c6e9d774ab77a117b020c05a8b9fcc177c31cfb83bb7ba

Contents?: true

Size: 808 Bytes

Versions: 2

Compression:

Stored size: 808 Bytes

Contents

require 'safemode'
require 'haml/safemode'

module ActionView
  module TemplateHandlers
    class SafeHaml < TemplateHandler
      include Compilable rescue nil # does not exist prior Rails 2.1
      extend SafemodeHandler

      def self.line_offset
      3
      end

      def compile(template)
        # Rails 2.0 passes the template source, while Rails 2.1 passes the
        # template instance
        src = template.respond_to?(:source) ? template.source : template
        filename = template.filename rescue nil

        options = Haml::Template.options.dup
        haml = Haml::Engine.new template, options
        methods = delegate_methods + ActionController::Routing::Routes.named_routes.helpers
        haml.precompile_for_safemode filename, ignore_assigns, methods
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
safemode-1.5.0 lib/action_view/template_handlers/safe_haml.rb
safemode-1.4.0 lib/action_view/template_handlers/safe_haml.rb