Class: LlmCostTracker::ReportFormatter

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

Constant Summary collapse

TOP_LIMIT =
5
NAME_COLUMN_WIDTH =
28
TOP_CALL_COLUMN_WIDTH =
32

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ ReportFormatter

Returns a new instance of ReportFormatter.



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

def initialize(data)
  @data = data
end

Instance Method Details

#to_sObject



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

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_tag_sections(lines)
  append_top_calls(lines)
  lines.join("\n")
end