class Ember::ES6Template::ES6

Public Class Methods

call(input) click to toggle source
# File lib/ember/es6_template/sprockets/es6.rb, line 8
def self.call(input)
  instance.call(input)
end
default_mime_type() click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6.rb, line 4
def self.default_mime_type
  'application/javascript'
end
instance() click to toggle source
# File lib/ember/es6_template/sprockets/es6.rb, line 4
def self.instance
  @instance ||= new
end

Public Instance Methods

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

  dependencies = [
    input[:load_path],
    input[:filename],
    data
  ]

  result = input[:cache].fetch(_cache_key + dependencies) do
    transform(data, input)
  end

  result['code']
end
evaluate(scope, locals, &block) click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6.rb, line 10
def evaluate(scope, locals, &block)
  env = scope.environment

  return data if module?(scope.pathname.to_s)

  result = Babel::Transpiler.transform(data,
    'modules' => 'commonStrict',
    'sourceRoot' => env.root,
    'moduleRoot' => '',
    'filename' => scope.logical_path
  )

  result['code']
end
prepare() click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6.rb, line 8
def prepare; end

Private Instance Methods

_cache_key() click to toggle source
# File lib/ember/es6_template/sprockets/es6.rb, line 39
def _cache_key
  [
    self.class.name,
    VERSION,
    Babel::Transpiler.version,
    Babel::Transpiler.source_version
  ]
end
module?(filename) click to toggle source
# File lib/ember/es6_template/sprockets-legacy/es6.rb, line 27
def module?(filename)
  File.basename(filename) =~ /\.module\.es6/
end
transform(data, input) click to toggle source
# File lib/ember/es6_template/sprockets/es6.rb, line 30
def transform(data, input)
  Babel::Transpiler.transform(data,
    'modules' => 'commonStrict',
    'sourceRoot' => input[:load_path],
    'moduleRoot' => '',
    'filename' => input[:filename]
  )
end