Class: LlmCostTracker::Parsers::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/llm_cost_tracker/parsers/registry.rb

Constant Summary collapse

PARSERS_MUTEX =
Mutex.new

Class Method Summary collapse

Class Method Details

.find_for(url) ⇒ Object



17
18
19
# File 'lib/llm_cost_tracker/parsers/registry.rb', line 17

def find_for(url)
  parsers.find { |p| p.match?(url) }
end

.parsersObject



9
10
11
# File 'lib/llm_cost_tracker/parsers/registry.rb', line 9

def parsers
  @parsers || PARSERS_MUTEX.synchronize { @parsers ||= default_parsers }
end

.register(parser) ⇒ Object



13
14
15
# File 'lib/llm_cost_tracker/parsers/registry.rb', line 13

def register(parser)
  PARSERS_MUTEX.synchronize { parsers.unshift(parser) }
end

.reset!Object



21
22
23
# File 'lib/llm_cost_tracker/parsers/registry.rb', line 21

def reset!
  PARSERS_MUTEX.synchronize { @parsers = nil }
end