Class: Temporalio::Workflow::Definition::Info

Inherits:
Object
  • Object
show all
Defined in:
lib/temporalio/workflow/definition.rb

Overview

Information about the workflow definition. This is usually not used directly.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(workflow_class:, override_name: nil, dynamic: false, init: false, raw_args: false, failure_exception_types: [], signals: {}, queries: {}, updates: {}) ⇒ Info

Create a definition info. This should usually not be used directly, but instead a class that extends Temporalio::Workflow::Definition should be used.



428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
# File 'lib/temporalio/workflow/definition.rb', line 428

def initialize(
  workflow_class:,
  override_name: nil,
  dynamic: false,
  init: false,
  raw_args: false,
  failure_exception_types: [],
  signals: {},
  queries: {},
  updates: {}
)
  @workflow_class = workflow_class
  @override_name = override_name
  @dynamic = dynamic
  @init = init
  @raw_args = raw_args
  @failure_exception_types = failure_exception_types.dup.freeze
  @signals = signals.dup.freeze
  @queries = queries.dup.freeze
  @updates = updates.dup.freeze
  Internal::ProtoUtils.assert_non_reserved_name(name)
end

Instance Attribute Details

#dynamicObject (readonly)

Returns the value of attribute dynamic.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def dynamic
  @dynamic
end

#failure_exception_typesObject (readonly)

Returns the value of attribute failure_exception_types.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def failure_exception_types
  @failure_exception_types
end

#initObject (readonly)

Returns the value of attribute init.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def init
  @init
end

#override_nameObject (readonly)

Returns the value of attribute override_name.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def override_name
  @override_name
end

#queriesObject (readonly)

Returns the value of attribute queries.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def queries
  @queries
end

#raw_argsObject (readonly)

Returns the value of attribute raw_args.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def raw_args
  @raw_args
end

#signalsObject (readonly)

Returns the value of attribute signals.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def signals
  @signals
end

#updatesObject (readonly)

Returns the value of attribute updates.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def updates
  @updates
end

#workflow_classObject (readonly)

Returns the value of attribute workflow_class.



411
412
413
# File 'lib/temporalio/workflow/definition.rb', line 411

def workflow_class
  @workflow_class
end

Class Method Details

.from_class(workflow_class) ⇒ Info

Derive the workflow definition info from the class.

Parameters:

  • workflow_class (Class<Definition>)

    Workflow class.

Returns:

  • (Info)

    Built info.



418
419
420
421
422
423
424
# File 'lib/temporalio/workflow/definition.rb', line 418

def self.from_class(workflow_class)
  unless workflow_class.is_a?(Class) && workflow_class < Definition
    raise "Workflow '#{workflow_class}' must be a class and must extend Temporalio::Workflow::Definition"
  end

  workflow_class._workflow_definition
end

Instance Method Details

#nameString

Returns Workflow name.

Returns:

  • (String)

    Workflow name.



452
453
454
# File 'lib/temporalio/workflow/definition.rb', line 452

def name
  dynamic ? nil : (override_name || workflow_class.name.to_s.split('::').last)
end