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/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

Defined Under Namespace

Modules: OpenaiUsage, SSE Classes: Anthropic, Base, Gemini, Openai, OpenaiCompatible

Constant Summary collapse

BUILT_INS =
[Openai.new, OpenaiCompatible.new, Anthropic.new, Gemini.new].freeze

Class Method Summary collapse

Class Method Details

.find_for(url) ⇒ Object



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

def find_for(url)
  BUILT_INS.find { |parser| parser.match?(url) }
end

.find_for_provider(provider) ⇒ Object



13
14
15
16
17
18
# File 'lib/llm_cost_tracker/parsers.rb', line 13

def find_for_provider(provider)
  provider_name = provider.to_s.downcase
  BUILT_INS.find do |parser|
    Array(parser.provider_names).map { |name| name.to_s.downcase }.include?(provider_name)
  end
end