Module: RubyOpenrouter

Defined in:
lib/ruby_openrouter.rb,
lib/ruby_openrouter/http.rb,
lib/ruby_openrouter/error.rb,
lib/ruby_openrouter/client.rb,
lib/ruby_openrouter/version.rb,
lib/ruby_openrouter/configuration.rb

Defined Under Namespace

Modules: Http Classes: APIError, AuthenticationError, BadRequestError, Client, Configuration, ConfigurationError, Error, RateLimitError, ServerError

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.configurationObject



13
14
15
# File 'lib/ruby_openrouter.rb', line 13

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



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

def configure
  yield(configuration)
end

.models(api_key: nil) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/ruby_openrouter.rb', line 17

def models(api_key: nil)
  cfg          = Configuration.new
  cfg.api_key  = api_key || configuration.api_key || raise(ConfigurationError, "api_key is required")
  cfg.base_url = configuration.base_url
  cfg.timeout  = configuration.timeout
  Http.get("/models", config: cfg).fetch("data", [])
end