Module: Julewire::Ractor::Bridge::RuntimeValidation

Defined in:
lib/julewire/ractor/bridge/runtime_validation.rb

Constant Summary collapse

REQUIRED_METHODS =
%i[
  emit_envelope
  emit_summary_record
  flush
].freeze

Class Method Summary collapse

Class Method Details

.validate!(runtime) ⇒ Object

Raises:

  • (ArgumentError)


14
15
16
17
18
19
20
# File 'lib/julewire/ractor/bridge/runtime_validation.rb', line 14

def validate!(runtime)
  missing = REQUIRED_METHODS.reject { runtime.respond_to?(it) }
  return if missing.empty?

  raise ArgumentError, "Julewire.ractor requires a bridge-compatible runtime " \
                       "(missing: #{missing.join(", ")})"
end