This is the set of Ruby samples for the Ruby SDK.
Prerequisites:
- Ruby 3.2+
- Local Temporal server running (can install CLI then run a dev server)
bundle installrun in the root
- activity_heartbeating - Demonstrate activity heartbeating and proper cancellation handling.
- activity_simple - Simple workflow that calls two activities.
- activity_worker - Use Ruby activities from a workflow in another language.
- client_mtls - Demonstrates how to use mutual TLS (mTLS) authentication with the Temporal Ruby SDK.
- coinbase_ruby - Demonstrate interoperability with the Coinbase Ruby SDK.
- context_propagation - Use interceptors to propagate thread/fiber local data from clients through workflows/activities.
- dsl - Demonstrates having a workflow interpret/invoke arbitrary steps defined in a DSL.
- eager_workflow_start - Demonstrates Eager Workflow Start to reduce latency for workflows that start with a local activity.
- encryption - Demonstrates how to make a codec for end-to-end encryption.
- env_config - Load client configuration from TOML files with programmatic overrides.
- message_passing_simple - Simple workflow that accepts signals, queries, and updates.
- open_telemetry - Demonstrates how to use OpenTelemetry tracing and metrics with the Ruby SDK
- patching - Demonstrates how to safely alter a workflow.
- polling/frequent - Implement a frequent polling mechanism inside an Activity.
- polling/infrequent - Implement an infrequent polling mechanism using Temporal's automatic Activity Retry feature.
- polling/periodic_sequence - Implement a periodic polling mechanism using a Child Workflow.
- rails_app - Basic Rails API application using Temporal workflows and activities.
- saga - Using undo/compensation using a very simplistic Saga pattern.
- sorbet_generic - Proof of concept of how to do advanced Sorbet typing with the SDK.
- updatable_timer - Demonstrates a blocking sleep that can be updated.
- worker_specific_task_queues - Use a unique Task Queue for each Worker to run a sequence of Activities on the same Worker.
- worker_versioning - Use the Worker Versioning feature to more easily version your workflows & other code.
To check format and test this repository, run:
bundle exec rake