Class: Tasker::Types::DependencyGraph

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

Overview

Complete dependency graph structure

Examples:

Template dependency graph

graph = DependencyGraph.new(
  nodes: [node1, node2],
  edges: [edge1],
  metadata: 
)

Runtime dependency graph

graph = DependencyGraph.new(
  nodes: [runtime_node1, runtime_node2],
  edges: [runtime_edge1],
  metadata: 
)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDependencyGraph

Returns a new instance of DependencyGraph.



217
218
219
220
221
222
# File 'lib/tasker/types/dependency_graph.rb', line 217

def initialize(*)
  super
  # Explicitly freeze arrays for immutability
  nodes.freeze
  edges.freeze
end

Instance Attribute Details

#edgesArray<GraphEdge> (readonly)

Returns Graph edges.

Returns:



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

attribute :edges, Types::Array.of(GraphEdge)

#metadataGraphMetadata (readonly)

Returns Graph metadata.

Returns:



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

attribute :metadata, GraphMetadata

#nodesArray<GraphNode> (readonly)

Returns Graph nodes.

Returns:



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

attribute :nodes, Types::Array.of(GraphNode)