Class: AppBridge::App
- Inherits:
-
Object
- Object
- AppBridge::App
- Defined in:
- lib/app_bridge/app.rb,
sig/app_bridge.rbs
Overview
An app that can be used to fetch events and execute actions.
Instance Method Summary collapse
- #actions ⇒ Array[String]
- #connection_config ⇒ Object
- #connections_supported? ⇒ Boolean
- #execute_action(context) ⇒ ActionResponse
- #fetch_events(context) ⇒ TriggerResponse
-
#initialize(component_path, environment_variables: {}) ⇒ App
constructor
A new instance of App.
- #timeout_seconds ⇒ Object
- #triggers ⇒ Array[String]
Constructor Details
#initialize(component_path, environment_variables: {}) ⇒ App
Returns a new instance of App.
9 10 11 12 13 14 15 |
# File 'lib/app_bridge/app.rb', line 9 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
#actions ⇒ Array[String]
10 |
# File 'sig/app_bridge.rbs', line 10
def actions: () -> Array[String]
|
#connection_config ⇒ Object
46 47 48 49 50 |
# File 'lib/app_bridge/app.rb', line 46 def connection_config json = _rust_connection_config ConnectionConfigValidator.validate!(json) json end |
#connections_supported? ⇒ Boolean
42 43 44 |
# File 'lib/app_bridge/app.rb', line 42 def connections_supported? _rust_connections_supported? end |
#execute_action(context) ⇒ ActionResponse
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/app_bridge/app.rb', line 26 def execute_action(context) response = request_action_with_timeout(context) # Process files: find file-output fields in schema and replace with blob IDs processed_output = process_files(response.serialized_output, context) validate_action_response_size!(processed_output) # Return new response with processed output response.with_output(processed_output) end |
#fetch_events(context) ⇒ TriggerResponse
17 18 19 20 21 22 23 24 |
# File 'lib/app_bridge/app.rb', line 17 def fetch_events(context) response = request_events_with_timeout(context) validate_number_of_events!(response.events) validate_store_size!(response.store) response end |
#timeout_seconds ⇒ Object
38 39 40 |
# File 'lib/app_bridge/app.rb', line 38 def timeout_seconds 30 # seconds end |
#triggers ⇒ Array[String]
8 |
# File 'sig/app_bridge.rbs', line 8
def triggers: () -> Array[String]
|