Class: LlmCostTracker::Parsers::Base

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

Direct Known Subclasses

Anthropic, Gemini, Openai, OpenaiCompatible

Instance Method Summary collapse

Instance Method Details

#match?(url) ⇒ Boolean

Returns true if this parser can handle the given URL.

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


22
23
24
# File 'lib/llm_cost_tracker/parsers/base.rb', line 22

def match?(url)
  raise NotImplementedError
end

#parse(request_url, request_body, response_status, response_body) ⇒ Object

Returns a hash with parsed usage data, or nil if not applicable.

Expected return format:

provider: "openai",
model: "gpt-4o",
input_tokens: 150,
output_tokens: 42

Raises:

  • (NotImplementedError)


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

def parse(request_url, request_body, response_status, response_body)
  raise NotImplementedError
end