Module: LlmCostTracker::Storage::Registry
- Defined in:
- lib/llm_cost_tracker/storage/registry.rb
Constant Summary collapse
- MUTEX =
Monitor.new
Class Method Summary collapse
- .fetch(name) ⇒ Object
- .names ⇒ Object
- .register(name, backend) ⇒ Object
- .registered?(name) ⇒ Boolean
Class Method Details
.fetch(name) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/llm_cost_tracker/storage/registry.rb', line 22 def fetch(name) key = normalize_name(name) backends.fetch(key) do raise Error, "Unknown storage_backend: #{key.inspect}. Use one of: #{names.join(', ')}" end end |
.names ⇒ Object
33 34 35 |
# File 'lib/llm_cost_tracker/storage/registry.rb', line 33 def names backends.keys end |
.register(name, backend) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/llm_cost_tracker/storage/registry.rb', line 15 def register(name, backend) name = normalize_name(name) validate_backend!(backend) MUTEX.synchronize { @backends = backends.merge(name => backend).freeze } backend end |
.registered?(name) ⇒ Boolean
29 30 31 |
# File 'lib/llm_cost_tracker/storage/registry.rb', line 29 def registered?(name) backends.key?(normalize_name(name)) end |