Module: Temporalio::Internal::Bridge

Defined in:
lib/temporalio/internal/bridge.rb,
lib/temporalio/internal/bridge/client.rb,
lib/temporalio/internal/bridge/worker.rb,
lib/temporalio/internal/bridge/runtime.rb,
lib/temporalio/internal/bridge/testing.rb,
lib/temporalio/internal/bridge/api/common/common.rb,
lib/temporalio/internal/bridge/api/core_interface.rb,
lib/temporalio/internal/bridge/api/activity_task/activity_task.rb,
lib/temporalio/internal/bridge/api/external_data/external_data.rb,
lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb,
lib/temporalio/internal/bridge/api/activity_result/activity_result.rb,
lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb,
lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb,
lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb

Defined Under Namespace

Modules: Api, Testing Classes: Client, Runtime, Worker

Class Method Summary collapse

Class Method Details

.assert_fiber_compatibility!Object



21
22
23
24
25
26
# File 'lib/temporalio/internal/bridge.rb', line 21

def self.assert_fiber_compatibility!
  return unless Fiber.current_scheduler && !fibers_supported

  raise 'Temporal SDK only supports fibers with Ruby 3.3 and newer, ' \
        'see https://github.com/temporalio/sdk-ruby/issues/162'
end

.fibers_supportedObject



28
29
30
31
32
33
# File 'lib/temporalio/internal/bridge.rb', line 28

def self.fibers_supported
  # We do not allow fibers on < 3.3 due to a bug we still need to dig
  # into: https://github.com/temporalio/sdk-ruby/issues/162
  major, minor = RUBY_VERSION.split('.').take(2).map(&:to_i)
  !major.nil? && major >= 3 && !minor.nil? && minor >= 3
end