module Ember::ES6Template::CoffeeScriptHelper

Public Instance Methods

call(input) click to toggle source
# File lib/ember/es6_template/sprockets/coffee_script_helper.rb, line 4
def call(input)
  data = input[:data]
  filename = input[:filename]

  result = input[:cache].fetch(_cache_key + [filename, data]) do
    if es6?(filename)
      transform(
        Sprockets::Autoload::CoffeeScript.compile(data, bare: true),
        input
      )
    else
      code = Sprockets::Autoload::CoffeeScript.compile(data, bare: false)

      {'code' => code}
    end
  end

  result['code']
end

Private Instance Methods

_cache_key() click to toggle source
# File lib/ember/es6_template/sprockets/coffee_script_helper.rb, line 26
def _cache_key
  [
    self.class.name,
    VERSION,
    Babel::Transpiler.version,
    Babel::Transpiler.source_version,
    Sprockets::Autoload::CoffeeScript.version
  ]
end
es6?(filename) click to toggle source
# File lib/ember/es6_template/sprockets/coffee_script_helper.rb, line 36
def es6?(filename)
  File.basename(filename) =~ /\.(?:es6|module)\./
end