Class: AppBridge::App

Inherits:
Object
  • Object
show all
Defined in:
lib/app_bridge/app.rb

Overview

An app that can be used to fetch events and execute actions.

Instance Method Summary collapse

Constructor Details

#initialize(component_path, environment_variables: {}) ⇒ App

Returns a new instance of App.



8
9
10
11
12
13
14
# File 'lib/app_bridge/app.rb', line 8

def initialize(component_path, environment_variables: {})
  @component_path = component_path
  @environment_variables = environment_variables
  _rust_initialize(component_path, environment_variables)
rescue StandardError
  raise InternalError, "Incompatible WASM file version"
end

Instance Method Details

#execute_action(context) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/app_bridge/app.rb', line 25

def execute_action(context)
  response = request_action_with_timeout(context)

  validate_action_response_size!(response.serialized_output)

  response
end

#fetch_events(context) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/app_bridge/app.rb', line 16

def fetch_events(context)
  response = request_events_with_timeout(context)

  validate_number_of_events!(response.events)
  validate_store_size!(response.store)

  response
end

#timeout_secondsObject



33
34
35
# File 'lib/app_bridge/app.rb', line 33

def timeout_seconds
  30 # seconds
end