Sha256: 1cf792b5a04acc4f9ff595e8055f1100b9a789658a2307924a6b21e0994ff8a8

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

require 'tilt/template'
require 'livescript'

module LiveScript
  # LiveScript template implementation. See:
  # http://gkz.github.com/LiveScript/
  #
  # LiveScript templates do not support object scopes, locals, or yield.
  class TiltTemplate < 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? ::LiveScript && ::LiveScript.respond_to?('compile')
    end

    def initialize_engine
    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 ||= LiveScript.compile(data, options)
    end

    def allows_script?
      false
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
livescript-rails-1.1.0 lib/livescript/rails/template_handler.rb
livescript-rails-1.0.2 lib/livescript/rails/template_handler.rb
livescript-rails-1.0.1 lib/livescript/rails/template_handler.rb
livescript-rails-1.0.0 lib/livescript/rails/template_handler.rb