Module: OllamaAgent::Topology::IR

Defined in:
lib/ollama_agent/topology/ir/node.rb,
lib/ollama_agent/topology/ir/class_node.rb,
lib/ollama_agent/topology/ir/route_node.rb,
lib/ollama_agent/topology/ir/module_node.rb,
lib/ollama_agent/topology/ir/worker_node.rb,
lib/ollama_agent/topology/ir/concern_node.rb,
lib/ollama_agent/topology/ir/callback_node.rb,
lib/ollama_agent/topology/ir/event_publisher_node.rb

Overview

Typed intermediate representation for topology extraction and linking.

Defined Under Namespace

Modules: Node Classes: CallbackNode, ClassNode, ConcernNode, EventPublisherNode, ModuleNode, RouteNode, WorkerNode

Class Method Summary collapse

Class Method Details

.deep_freeze_hash(obj) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/ollama_agent/topology/ir/node.rb', line 18

def self.deep_freeze_hash(obj)
  case obj
  when Hash
    obj.transform_keys(&:to_s).transform_values { |v| deep_freeze_hash(v) }.freeze
  when Array
    obj.map { |v| deep_freeze_hash(v) }.freeze
  else
    obj
  end
end

.deep_freeze_hashes(list) ⇒ Object



14
15
16
# File 'lib/ollama_agent/topology/ir/node.rb', line 14

def self.deep_freeze_hashes(list)
  Array(list).map { |h| deep_freeze_hash(h) }.freeze
end