Method: Jadeite::Environment#initialize

Defined in:
lib/jadeite/environment.rb

#initialize(options = {}) ⇒ Environment

Returns a new instance of Environment.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/jadeite/environment.rb', line 18

def initialize(options={})
  @options = DEFAULT_OPTIONS.merge(options)

  FileUtils.mkdir_p(cache_dir) if cache? and !File.directory?(cache_dir)

  # Setup V8 context
  @context = V8::Context.new

  # Load jade-runtime
  node_env = NodeJS::Environment.new(@context, File.expand_path('../../', __FILE__))
  @context['jade'] = node_env.require('jade-runtime').runtime
  @jade = node_env.require('jade')

  # Create a new object in V8 that will keep a cached copy of compiled templates
  @cache = @context['Object'].new
end