Sha256: beca170c8ed486951fde091a917f10d66eeb683d839b6fcf4d924d7d2028b5f8

Contents?: true

Size: 828 Bytes

Versions: 1

Compression:

Stored size: 828 Bytes

Contents

module Coffee
  module Rails
    class TemplateHandler
      def self.erb_handler
        @@erb_handler ||= ActionView::Template.registered_template_handler(:erb)
      end

      def self.call(template, source = nil)
        compiled_source = if source
          erb_handler.call(template, source)
        else
          erb_handler.call(template)
        end
        "CoffeeScript.compile(begin;#{compiled_source};end)"
      end
    end
  end
end

ActiveSupport.on_load(:action_view) do
  ActionView::Template.register_template_handler :coffee, Coffee::Rails::TemplateHandler
  # Loads DependencyTracker
  require 'action_view/dependency_tracker'
  # Register ERB DependencyTracker for .coffee files to enable digesting.
  ActionView::DependencyTracker.register_tracker :coffee, ActionView::DependencyTracker::ERBTracker
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
coffee-rails-5.0.0 lib/coffee/rails/template_handler.rb