Module: Gemini

Defined in:
lib/gemini.rb,
lib/gemini/http.rb,
lib/gemini/runs.rb,
lib/gemini/audio.rb,
lib/gemini/files.rb,
lib/gemini/video.rb,
lib/gemini/client.rb,
lib/gemini/images.rb,
lib/gemini/models.rb,
lib/gemini/threads.rb,
lib/gemini/version.rb,
lib/gemini/messages.rb,
lib/gemini/response.rb,
lib/gemini/documents.rb,
lib/gemini/embeddings.rb,
lib/gemini/http_headers.rb,
lib/gemini/cached_content.rb,
lib/gemini/tool_definition.rb

Defined Under Namespace

Modules: HTTP, HTTPHeaders Classes: APIError, Audio, AuthenticationError, CachedContent, Client, Configuration, ConfigurationError, Documents, Embeddings, Error, Files, Images, InvalidRequestError, Messages, MiddlewareErrors, Models, RateLimitError, Response, Runs, Threads, ToolDefinition, Video

Constant Summary collapse

VERSION =
"0.1.7"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



65
66
67
# File 'lib/gemini.rb', line 65

def configuration
  @configuration ||= Gemini::Configuration.new
end

Class Method Details

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

Yields:



69
70
71
# File 'lib/gemini.rb', line 69

def configure
  yield(configuration)
end

.log_message(prefix, message, level = :warn) ⇒ Object



73
74
75
76
77
78
79
80
81
82
# File 'lib/gemini.rb', line 73

def log_message(prefix, message, level = :warn)
  return unless configuration.log_errors

  color = level == :error ? "\033[31m" : "\033[33m"
  logger = Logger.new($stdout)
  logger.formatter = proc do |_severity, _datetime, _progname, msg|
    "#{color}#{prefix} (spotted in ruby-gemini-api #{VERSION}): #{msg}\n\033[0m"
  end
  logger.send(level, message)
end