Class: MiniRacer::Snapshot
- Inherits:
 - 
      Object
      
        
- Object
 - MiniRacer::Snapshot
 
 
- Defined in:
 - lib/mini_racer.rb,
lib/mini_racer/truffleruby.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.
 - #load(str) ⇒ Object
 - #warmup!(src) ⇒ Object
 - #warmup_unsafe!(src) ⇒ Object
 
Constructor Details
#initialize(str = '') ⇒ Snapshot
Returns a new instance of Snapshot.
      425 426 427 428 429 430 431 432 433 434 435 436 437 438  | 
    
      # File 'lib/mini_racer.rb', line 425 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
#load(str) ⇒ Object
      343 344 345 346  | 
    
      # File 'lib/mini_racer/truffleruby.rb', line 343 def load(str) raise TypeError, "wrong type argument #{str.class} (should be a string)" unless str.is_a?(String) # Intentionally noop since TruffleRuby mocks the snapshot API end  | 
  
#warmup!(src) ⇒ Object
      440 441 442 443 444 445 446 447 448 449 450 451 452 453  | 
    
      # File 'lib/mini_racer.rb', line 440 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  | 
  
#warmup_unsafe!(src) ⇒ Object
      348 349 350 351 352 353  | 
    
      # File 'lib/mini_racer/truffleruby.rb', line 348 def warmup_unsafe!(src) raise TypeError, "wrong type argument #{src.class} (should be a string)" unless src.is_a?(String) # Intentionally noop since TruffleRuby mocks the snapshot API # by replaying snapshot source before the first eval/call self end  |