Sha256: 3ba45e51c5f64a2297dbd6aa2cd575aaedcc6053db4528c99fbc2596eb497ac0

Contents?: true

Size: 984 Bytes

Versions: 1

Compression:

Stored size: 984 Bytes

Contents

require 'tilt'
require 'opal/compiler'
require 'opal/config'
require 'opal/version'

$OPAL_SOURCE_MAPS = {}

module Opal
  class TiltTemplate < Tilt::Template
    self.default_mime_type = 'application/javascript'

    def self.inherited(subclass)
      subclass.default_mime_type = 'application/javascript'
    end

    def self.engine_initialized?
      true
    end

    def self.version
      ::Opal::VERSION
    end

    def self.compiler_options
      Opal::Config.compiler_options.merge(requirable: true)
    end

    def initialize_engine
      require_template_library 'opal'
    end

    def prepare
    end

    def evaluate(context, locals, &block)
      compiler_options = Opal::Config.compiler_options.merge(file: file)
      compiler = Compiler.new(data, compiler_options)
      compiler.compile.to_s
    end

    def compiler_options
      self.class.compiler_options
    end
  end
end

Tilt.register 'rb',   Opal::TiltTemplate
Tilt.register 'opal', Opal::TiltTemplate

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
opal-0.8.0.beta1 lib/tilt/opal.rb