Module: ActiveHarness::Pricing
- Defined in:
- lib/active_harness/pricing.rb,
lib/active_harness/pricing/models_dev.rb,
lib/active_harness/pricing/openrouter.rb
Overview
Pricing namespace — shared types and a facade over pricing source modules.
Sources (in priority order):
Pricing::OpenRouter — live data from OpenRouter API (image models, 24h cache)
Pricing::ModelsDev — live data from models.dev API (all providers, 24h cache)
Public facade delegates to ModelsDev (used as the general fallback):
Pricing.find("gpt-4o") → ModelPrice or nil
Pricing.all → Array<ModelPrice>
Pricing.providers.openai → Array<ModelPrice>
Pricing.update → refreshes ModelsDev cache
Defined Under Namespace
Modules: ModelsDev, OpenRouter
Classes: ModelPrice, ProvidersProxy
Class Method Summary
collapse
Class Method Details
.all ⇒ Object
98
99
100
|
# File 'lib/active_harness/pricing.rb', line 98
def all
ModelsDev.all
end
|
.available_providers ⇒ Object
.cache_file ⇒ Object
122
123
124
|
# File 'lib/active_harness/pricing.rb', line 122
def cache_file
ModelsDev.cache_file
end
|
.find(model_id) ⇒ Object
94
95
96
|
# File 'lib/active_harness/pricing.rb', line 94
def find(model_id)
ModelsDev.find(model_id)
end
|
.for_provider(name) ⇒ Object
106
107
108
|
# File 'lib/active_harness/pricing.rb', line 106
def for_provider(name)
ModelsDev.for_provider(name)
end
|
.providers ⇒ Object
102
103
104
|
# File 'lib/active_harness/pricing.rb', line 102
def providers
ModelsDev.providers
end
|
.reload! ⇒ Object
118
119
120
|
# File 'lib/active_harness/pricing.rb', line 118
def reload!
ModelsDev.reload!
end
|
.update ⇒ Object
114
115
116
|
# File 'lib/active_harness/pricing.rb', line 114
def update
ModelsDev.update
end
|