Sha256: 04f9b9fa49353f4f98bef57e9c9eb2c8cd7b70049ea4de810b687d8807104a2a
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
require 'tilt' module Typescript module Rails class TypeScriptTemplate < ::Tilt::Template self.default_mime_type = 'application/javascript' @@default_bare = false def self.default_bare @@default_bare end def self.default_bare=(value) @@default_bare = value end # DEPRECATED def self.default_no_wrap @@default_bare end # DEPRECATED def self.default_no_wrap=(value) @@default_bare = value end def self.engine_initialized? defined? ::TypeScript end def initialize_engine require_template_library 'coffee_script' end def prepare if !options.key?(:bare) and !options.key?(:no_wrap) options[:bare] = self.class.default_bare end end def evaluate(scope, locals, &block) @output ||= TypeScript::Node.compile(data) end def allows_script? false end end class TemplateHandler def self.erb_handler @@erb_handler ||= ActionView::Template.registered_template_handler(:erb) end def self.call(template) compiled_source = erb_handler.call(template) "TypeScript::Node.compile(begin;#{compiled_source};end)" end end end end ActiveSupport.on_load(:action_view) do ActionView::Template.register_template_handler :ts, Typescript::Rails::TemplateHandler end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
typescript-rails-0.1.2 | lib/typescript/rails/template_handler.rb |
typescript-rails-0.1.1 | lib/typescript/rails/template_handler.rb |