Class: Ichiban::EJSCompiler

Inherits:
Object
  • Object
show all
Defined in:
lib/ichiban/ejs_compiler.rb

Instance Method Summary collapse

Constructor Details

#initialize(ejs_file) ⇒ EJSCompiler

Returns a new instance of EJSCompiler.



20
21
22
# File 'lib/ichiban/ejs_compiler.rb', line 20

def initialize(ejs_file)
  @ejs_file = ejs_file
end

Instance Method Details

#compileObject



3
4
5
6
7
8
9
# File 'lib/ichiban/ejs_compiler.rb', line 3

def compile
  FileUtils.mkdir_p File.dirname(@ejs_file.dest)
  File.open(@ejs_file.dest, 'w') do |f|
    f << compile_to_str
  end
  Ichiban.logger.compilation(@ejs_file.abs, @ejs_file.dest)
end

#compile_to_strObject



11
12
13
14
15
16
17
18
# File 'lib/ichiban/ejs_compiler.rb', line 11

def compile_to_str
  add_preamble(
    EJS.compile(
      File.read(@ejs_file.abs)
    ),
    File.basename(@ejs_file.dest, '.js')
  )
end