18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/maglove/tilt/coffee_template.rb', line 18
def evaluate(scope, locals, &block)
@output = CoffeeScript.compile(@data, options)
@output.gsub!(/^include\("([^"]+)"\);$/) do |match|
path = Regexp.last_match[1]
path = "#{path}.coffee" if File.extname(path).empty?
include_path = File.absolute_path(path, File.dirname(file))
unless File.exist?(include_path)
include_path = File.absolute_path(path, locals[:base_path])
end
if File.exist?(include_path)
include_template = ::Tilt.new(include_path)
include_template.render(Object.new, locals)
else
raise "Path not found: #{include_path}"
end
end
@output
end
|