Class: Tasker::Types::GraphEdge

Inherits:
Dry::Struct
  • Object
show all
Defined in:
lib/tasker/types/dependency_graph.rb

Overview

Represents a relationship between two nodes in a dependency graph

Examples:

Basic edge

edge = GraphEdge.new(
  from: 'validate_payment',
  to: 'update_inventory',
  relationship: 'prerequisite'
)

Edge with metadata

edge = GraphEdge.new(
  from: 'step_1',
  to: 'step_2',
  relationship: 'prerequisite',
  metadata: { weight: 1.5, critical_path: true }
)

Instance Attribute Summary collapse

Instance Attribute Details

#fromString (readonly)

Returns Source node ID.

Returns:

  • (String)

    Source node ID



92
# File 'lib/tasker/types/dependency_graph.rb', line 92

attribute :from, Types::String

#metadataHash (readonly)

Returns Edge metadata.

Returns:

  • (Hash)

    Edge metadata



110
# File 'lib/tasker/types/dependency_graph.rb', line 110

attribute :metadata, Types::Hash.default({}.freeze)

#relationshipString (readonly)

Returns Relationship type.

Returns:

  • (String)

    Relationship type



104
# File 'lib/tasker/types/dependency_graph.rb', line 104

attribute :relationship, Types::String.default('prerequisite')

#toString (readonly)

Returns Target node ID.

Returns:

  • (String)

    Target node ID



98
# File 'lib/tasker/types/dependency_graph.rb', line 98

attribute :to, Types::String