Module: BenchGecko
- Defined in:
- lib/benchgecko.rb
Constant Summary collapse
- VERSION =
'0.2.1'- BASE_URL =
'https://benchgecko.ai/api/v1'
Class Method Summary collapse
- .agents ⇒ Object
- .benchmarks ⇒ Object
- .compare(*slugs) ⇒ Object
- .get(path, params = {}) ⇒ Object
- .model(slug) ⇒ Object
- .models(params = {}) ⇒ Object
- .pricing(slug = nil) ⇒ Object
- .providers ⇒ Object
Class Method Details
.agents ⇒ Object
32 33 34 |
# File 'lib/benchgecko.rb', line 32 def self.agents get('/agents') end |
.benchmarks ⇒ Object
16 17 18 |
# File 'lib/benchgecko.rb', line 16 def self.benchmarks get('/benchmarks') end |
.compare(*slugs) ⇒ Object
20 21 22 |
# File 'lib/benchgecko.rb', line 20 def self.compare(*slugs) get('/compare', models: slugs.join(',')) end |
.get(path, params = {}) ⇒ Object
38 39 40 41 42 |
# File 'lib/benchgecko.rb', line 38 def self.get(path, params = {}) uri = URI("#{BASE_URL}#{path}") uri.query = URI.encode_www_form(params) unless params.empty? JSON.parse(Net::HTTP.get(uri)) end |
.model(slug) ⇒ Object
12 13 14 |
# File 'lib/benchgecko.rb', line 12 def self.model(slug) get("/models/#{slug}") end |
.models(params = {}) ⇒ Object
8 9 10 |
# File 'lib/benchgecko.rb', line 8 def self.models(params = {}) get('/models', params) end |
.pricing(slug = nil) ⇒ Object
24 25 26 |
# File 'lib/benchgecko.rb', line 24 def self.pricing(slug = nil) slug ? get("/pricing/#{slug}") : get('/pricing') end |
.providers ⇒ Object
28 29 30 |
# File 'lib/benchgecko.rb', line 28 def self.providers get('/providers') end |