Sha256: 13360ec381be609ece75812b905066a65f582de47e38c1be1e952883923abe6d

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

require "httparty"
require "ruby/openai/client"
require "ruby/openai/files"
require "ruby/openai/finetunes"
require "ruby/openai/images"
require "ruby/openai/models"
require "ruby/openai/version"

module Ruby
  module OpenAI
    class Error < StandardError; end
    class ConfigurationError < Error; end

    class Configuration
      attr_writer :access_token
      attr_accessor :api_version, :organization_id

      DEFAULT_API_VERSION = "v1".freeze

      def initialize
        @access_token = nil
        @api_version = DEFAULT_API_VERSION
        @organization_id = nil
      end

      def access_token
        return @access_token if @access_token

        error_text = "OpenAI access token missing! See https://github.com/alexrudall/ruby-openai#usage"
        raise ConfigurationError, error_text
      end
    end

    class << self
      attr_writer :configuration
    end

    def self.configuration
      @configuration ||= OpenAI::Configuration.new
    end

    def self.configure
      yield(configuration)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ruby-openai-3.2.0 lib/ruby/openai.rb
ruby-openai-3.1.0 lib/ruby/openai.rb
ruby-openai-3.0.3 lib/ruby/openai.rb
ruby-openai-3.0.2 lib/ruby/openai.rb
ruby-openai-3.0.1 lib/ruby/openai.rb