class Middleman::Emblem::Template

Public Class Methods

default_mime_type() click to toggle source
# File lib/middleman-emblem/sprockets-template.rb, line 9
def self.default_mime_type
  'application/javascript'
end

Public Instance Methods

evaluate(scope, locals, &block) click to toggle source
# File lib/middleman-emblem/sprockets-template.rb, line 13
def evaluate(scope, locals, &block)
  target = template_target(scope)
  template = data
  template = precompile_emblem(template)
  "#{target} = #{template}\n"
end
prepare() click to toggle source
# File lib/middleman-emblem/sprockets-template.rb, line 12
def prepare; end

Private Instance Methods

configuration() click to toggle source
# File lib/middleman-emblem/sprockets-template.rb, line 43
def configuration
  OpenStruct.new(
    templates_root: Middleman::Emblem.template_root,
    templates_path_separator: "/",
    ember: Middleman::Emblem.ember,
    object: Middleman::Emblem.object
  )
end
precompile_emblem(string) click to toggle source
# File lib/middleman-emblem/sprockets-template.rb, line 52
def precompile_emblem(string)
  if configuration.ember
    Barber::Emblem::EmberFilePrecompiler.call(string)
  else
    Barber::Emblem::FilePrecompiler.call(string)
  end
end
template_path(path) click to toggle source
# File lib/middleman-emblem/sprockets-template.rb, line 26
def template_path(path)
  root = configuration.templates_root
  if root.kind_of? Array
    root.each do |root|
      path.sub!(/#{Regexp.quote(root)}\//, '')
    end
  else
    unless root.empty?
      path.sub!(/#{Regexp.quote(root)}\/?/, '')
    end
  end

  path = path.split('/')

  path.join(configuration.templates_path_separator)
end
template_target(scope) click to toggle source
# File lib/middleman-emblem/sprockets-template.rb, line 22
def template_target(scope)
  "#{configuration.object}[#{template_path(scope.logical_path).inspect}]"
end