jasmine-headless-webkit/lib/jasmine/headless/dust_cache.rb

31 lines
756 B
Ruby

require 'execjs'
require 'digest/sha1'
require 'fileutils'
module Jasmine
module Headless
class DustCache < CacheableAction
class << self
def cache_type
"dust"
end
end
def action
@path ||= File.expand_path('../../../../vendor/assets/javascripts/dust-full-for-compile.js', __FILE__)
@contents ||= File.read(@path)
@context ||= ExecJS.compile(@contents)
template_root = DustTemplate.template_root
template_root = template_root + '/' if template_root[ template_root.length - 1 ].chr != '/'
template_name = file.split(template_root).last.split('.',2).first
@context.call("dust.compile", File.read(file), template_name)
end
end
end
end