Class: LlmCostTracker::ReportFormatter

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

Constant Summary collapse

TOP_LIMIT =
5

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ ReportFormatter

Returns a new instance of ReportFormatter.



7
8
9
# File 'lib/llm_cost_tracker/report_formatter.rb', line 7

def initialize(data)
  @data = data
end

Instance Method Details

#to_sObject



11
12
13
14
15
16
17
18
19
# File 'lib/llm_cost_tracker/report_formatter.rb', line 11

def to_s
  lines = ["LLM Cost Report (last #{@data.days} days)", ""]
  append_summary(lines)
  append_cost_section(lines, "By provider", @data.cost_by_provider)
  append_cost_section(lines, "By model", @data.cost_by_model)
  append_cost_section(lines, "By feature", @data.cost_by_feature)
  append_top_calls(lines)
  lines.join("\n")
end