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

.allObject



98
99
100
# File 'lib/active_harness/pricing.rb', line 98

def all
  ModelsDev.all
end

.available_providersObject



126
127
128
# File 'lib/active_harness/pricing.rb', line 126

def available_providers
  ModelsDev.available_providers
end

.cache_fileObject



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

.provider_namesObject



110
111
112
# File 'lib/active_harness/pricing.rb', line 110

def provider_names
  ModelsDev.provider_names
end

.providersObject



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

.updateObject



114
115
116
# File 'lib/active_harness/pricing.rb', line 114

def update
  ModelsDev.update
end