Class: Legion::Extensions::Agentic::Social::Calibration::Helpers::CalibrationRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/legion/extensions/agentic/social/calibration/helpers/calibration_registry.rb

Instance Method Summary collapse

Constructor Details

#initializeCalibrationRegistry

Returns a new instance of CalibrationRegistry.



10
11
12
13
# File 'lib/legion/extensions/agentic/social/calibration/helpers/calibration_registry.rb', line 10

def initialize
  @stores = {}
  @mutex  = Mutex.new
end

Instance Method Details

#erase_partner!(identity:) ⇒ Object



19
20
21
22
# File 'lib/legion/extensions/agentic/social/calibration/helpers/calibration_registry.rb', line 19

def erase_partner!(identity:)
  @mutex.synchronize { @stores.delete(identity.to_s) }
  true
end

#for(identity:) ⇒ Object



15
16
17
# File 'lib/legion/extensions/agentic/social/calibration/helpers/calibration_registry.rb', line 15

def for(identity:)
  @mutex.synchronize { @stores[identity.to_s] ||= CalibrationStore.new }
end

#known_identitiesObject



24
25
26
# File 'lib/legion/extensions/agentic/social/calibration/helpers/calibration_registry.rb', line 24

def known_identities
  @mutex.synchronize { @stores.keys.dup }
end

#to_apollo_entries_for(identity:) ⇒ Object



28
29
30
31
32
33
# File 'lib/legion/extensions/agentic/social/calibration/helpers/calibration_registry.rb', line 28

def to_apollo_entries_for(identity:)
  store = @mutex.synchronize { @stores[identity.to_s] }
  return [] unless store

  store.to_apollo_entries
end