Class: Sqreen::Js::MiniRacerAdapter

Inherits:
JsServiceAdapter show all
Defined in:
lib/sqreen/js/mini_racer_adapter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(vendored = false) ⇒ MiniRacerAdapter

Returns a new instance of MiniRacerAdapter.



20
21
22
23
24
# File 'lib/sqreen/js/mini_racer_adapter.rb', line 20

def initialize(vendored = false)
  @vendored = vendored
  @pool = ContextPool.new
  self.class.static_init
end

Class Method Details

.static_initObject



35
36
37
38
39
# File 'lib/sqreen/js/mini_racer_adapter.rb', line 35

def self.static_init
  return if @done_static_init
  Sqreen::MiniRacer::Platform.set_flags! :noconcurrent_recompilation
  @done_static_init = true
end

Instance Method Details

#preprocess(rule_name, code) ⇒ Object



26
27
28
29
# File 'lib/sqreen/js/mini_racer_adapter.rb', line 26

def preprocess(rule_name, code)
  Sqreen.log.debug("js:#{self.class.name} variant:#{variant_name} preprocess:#{rule_name}")
  MiniRacerExecutableJs.new(@pool, code, @vendored)
end

#variant_nameObject



31
32
33
# File 'lib/sqreen/js/mini_racer_adapter.rb', line 31

def variant_name
  @vendored ? 'sq_mini_racer' : 'mini_racer'
end