Class: MiniRacer::Snapshot
- Inherits:
-
Object
- Object
- MiniRacer::Snapshot
- Defined in:
- lib/mini_racer.rb
Overview
`size` and `warmup!` public methods are defined in the C class
Instance Method Summary collapse
-
#initialize(str = '') ⇒ Snapshot
constructor
A new instance of Snapshot.
- #warmup!(src) ⇒ Object
Constructor Details
#initialize(str = '') ⇒ Snapshot
Returns a new instance of Snapshot.
423 424 425 426 427 428 429 430 431 432 433 434 435 436 |
# File 'lib/mini_racer.rb', line 423 def initialize(str = '') # ensure it first can load begin ctx = MiniRacer::Context.new ctx.eval(str) rescue MiniRacer::RuntimeError => e raise MiniRacer::SnapshotError.new, e., e.backtrace end @source = str # defined in the C class load(str) end |
Instance Method Details
#warmup!(src) ⇒ Object
438 439 440 441 442 443 444 445 446 447 448 449 450 451 |
# File 'lib/mini_racer.rb', line 438 def warmup!(src) # we have to do something here # we are bloating memory a bit but it is more correct # than hitting an exception when attempty to compile invalid source begin ctx = MiniRacer::Context.new ctx.eval(@source) ctx.eval(src) rescue MiniRacer::RuntimeError => e raise MiniRacer::SnapshotError.new, e., e.backtrace end warmup_unsafe!(src) end |