Module: LlmCostTracker::Parsers
- Defined in:
- lib/llm_cost_tracker/parsers.rb,
lib/llm_cost_tracker/parsers/sse.rb,
lib/llm_cost_tracker/parsers/base.rb,
lib/llm_cost_tracker/parsers/azure.rb,
lib/llm_cost_tracker/parsers/gemini.rb,
lib/llm_cost_tracker/parsers/openai.rb,
lib/llm_cost_tracker/parsers/anthropic.rb,
lib/llm_cost_tracker/parsers/openai_usage.rb,
lib/llm_cost_tracker/parsers/openai_compatible.rb,
lib/llm_cost_tracker/parsers/openai_service_charges.rb
Defined Under Namespace
Modules: OpenaiServiceCharges, OpenaiUsage, SSE, UrlMatchers
Classes: Anthropic, Azure, Base, Gemini, Openai, OpenaiCompatible
Constant Summary
collapse
- MUTEX =
Mutex.new
- PARSER_CONSTANTS =
%i[Openai Azure OpenaiCompatible Anthropic Gemini].freeze
Class Method Summary
collapse
Class Method Details
.find_for(url) ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/llm_cost_tracker/parsers.rb', line 20
def find_for(url)
PARSER_CONSTANTS.each do |name|
klass = const_get(name)
return instance_for(klass) if klass.match?(url)
end
nil
end
|
.find_for_provider(provider) ⇒ Object
28
29
30
31
32
33
34
35
|
# File 'lib/llm_cost_tracker/parsers.rb', line 28
def find_for_provider(provider)
provider_name = provider.to_s.downcase
PARSER_CONSTANTS.each do |name|
klass = const_get(name)
return instance_for(klass) if klass.provider_names.include?(provider_name)
end
nil
end
|