Class: Herb::Embedded::EngineAdapter
- Inherits:
-
Object
- Object
- Herb::Embedded::EngineAdapter
- Defined in:
- lib/herb/embedded/engine_adapter.rb
Overview
Port between Ruby and whichever JavaScript engine executes Herb's rule code. Concrete engines (MiniRacer, and later QuickJS/Wasmtime) implement this interface; callers depend only on it.
Direct Known Subclasses
Defined Under Namespace
Classes: Binary
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.binary(bytes) ⇒ Object
14 15 16 |
# File 'lib/herb/embedded/engine_adapter.rb', line 14 def self.binary(bytes) Binary.new(bytes) end |
Instance Method Details
#attach(name) ⇒ Object
22 23 24 |
# File 'lib/herb/embedded/engine_adapter.rb', line 22 def attach(name, &) raise NotImplementedError, "#{self.class} must implement #attach" end |
#call(function, *args) ⇒ Object
26 27 28 |
# File 'lib/herb/embedded/engine_adapter.rb', line 26 def call(function, *args) raise NotImplementedError, "#{self.class} must implement #call" end |
#dispose ⇒ Object
30 31 32 |
# File 'lib/herb/embedded/engine_adapter.rb', line 30 def dispose raise NotImplementedError, "#{self.class} must implement #dispose" end |
#load(source) ⇒ Object
18 19 20 |
# File 'lib/herb/embedded/engine_adapter.rb', line 18 def load(source) raise NotImplementedError, "#{self.class} must implement #load" end |