Sha256: c6f9ae52a506f9ac0cd1b0ae375a696e81459ba19f2f7a969dc42f86d283deac
Contents?: true
Size: 981 Bytes
Versions: 3
Compression:
Stored size: 981 Bytes
Contents
module Bunch class EJSNode < FileNode def initialize(fn) EJSNode.require_ejs @filename = fn end def content @content ||= fetch(@filename) { <<-JAVASCRIPT (function() { this.JST || (this.JST = {}); this.JST['#{template_name}'] = #{EJS.compile(File.read(@filename))}; })(); JAVASCRIPT } rescue => e raise CompileError.new(e, @filename) end def name File.basename(@filename, '.ejs') end def template_name name = @filename.sub(/\.jst\.ejs$/, '') if @options[:root] name.sub(/^#{Regexp.escape(@options[:root].to_s)}\//, '') else name end end def target_extension '.js' end end class << EJSNode def require_ejs unless @required require 'ejs' @required = true end rescue LoadError raise "'gem install ejs' to compile .ejs files." end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bunch-0.2.2 | lib/bunch/ejs_node.rb |
bunch-0.2.1 | lib/bunch/ejs_node.rb |
bunch-0.2.0 | lib/bunch/ejs_node.rb |