Class: LlmCostTracker::Report
- Inherits:
-
Object
- Object
- LlmCostTracker::Report
- Defined in:
- lib/llm_cost_tracker/report.rb,
lib/llm_cost_tracker/report/data.rb,
lib/llm_cost_tracker/report/formatter.rb
Defined Under Namespace
Class Method Summary collapse
- .data(days: Data::DEFAULT_DAYS, now: Time.now.utc, tag_breakdowns: nil) ⇒ Object
- .generate(days: Data::DEFAULT_DAYS, now: Time.now.utc, tag_breakdowns: nil) ⇒ Object
Class Method Details
.data(days: Data::DEFAULT_DAYS, now: Time.now.utc, tag_breakdowns: nil) ⇒ Object
24 25 26 |
# File 'lib/llm_cost_tracker/report.rb', line 24 def data(days: Data::DEFAULT_DAYS, now: Time.now.utc, tag_breakdowns: nil) Data.build(days: days, now: now, tag_breakdowns: tag_breakdowns) end |
.generate(days: Data::DEFAULT_DAYS, now: Time.now.utc, tag_breakdowns: nil) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/llm_cost_tracker/report.rb', line 9 def generate(days: Data::DEFAULT_DAYS, now: Time.now.utc, tag_breakdowns: nil) report_data = Data.build( days: days, now: now, tag_breakdowns: tag_breakdowns, breakdown_limit: Formatter::TOP_LIMIT ) Formatter.new(report_data).to_s rescue LoadError => e "Unable to build LLM cost report: ActiveRecord storage is unavailable (#{e.})" rescue StandardError => e "Unable to build LLM cost report: #{e.class}: #{e.}" end |