module Less::JavaScript

def self.context_wrapper

def self.context_wrapper
  @@context_wrapper ||= default_context_wrapper
end

def self.context_wrapper=(klass)

def self.context_wrapper=(klass)
  @@context_wrapper = klass
end

def self.default_context_wrapper

def self.default_context_wrapper
  if defined?(JRUBY_VERSION)
    require 'less/java_script/rhino_context'
    RhinoContext
  else
    require 'less/java_script/v8_context'
    V8Context
  end
end

def self.eval(source)

def self.eval(source)
  context_wrapper.instance.eval(source)
end

def self.exec(&block)

execute a block as JS
def self.exec(&block)
  context_wrapper.instance.exec(&block)
end