Sha256: 63aa6680774042854bf7a799a15ff3ccfecb0037a5416e0715a671b861b5fc00

Contents?: true

Size: 1.88 KB

Versions: 84

Compression:

Stored size: 1.88 KB

Contents

# frozen_string_literal: true

module Svix
    class SvixOptions
        attr_accessor :debug
        attr_accessor :server_url

        def initialize(debug = false, server_url = nil)
            @debug=debug
            @server_url=server_url
        end
    end

    class Client
        attr_accessor :application
        attr_accessor :authentication
        attr_accessor :endpoint
        attr_accessor :event_type
        attr_accessor :integration
        attr_accessor :message
        attr_accessor :message_attempt

        def initialize(auth_token, options = SvixOptions.new)

            region = auth_token.split(".").last
            if region == "us"
                regional_url = "https://api.us.svix.com"
            elsif region == "eu"
                regional_url = "https://api.eu.svix.com"
            elsif region == "in"
                regional_url = "https://api.in.svix.com"
            else
                regional_url = "https://api.svix.com"
            end

            uri = URI(options.server_url || regional_url)

            configuration = Configuration.new
            configuration.debugging = options.debug
            configuration.scheme = uri.scheme
            configuration.host = uri.port ? "#{uri.host}:#{uri.port}" : uri.host
            configuration.access_token = auth_token
            configuration.server_index = nil

            api_client = ApiClient.new(configuration)
            api_client.user_agent = "svix-libs/#{VERSION}/ruby"

            @application = ApplicationAPI.new(api_client)
            @authentication = AuthenticationAPI.new(api_client)
            @endpoint = EndpointAPI.new(api_client)
            @event_type = EventTypeAPI.new(api_client)
            @integration = IntegrationAPI.new(api_client)
            @message = MessageAPI.new(api_client)
            @message_attempt = MessageAttemptAPI.new(api_client)
        end
    end
end

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
svix-1.60.1 lib/svix/svix.rb
svix-1.60.0 lib/svix/svix.rb
svix-1.59.2 lib/svix/svix.rb
svix-1.59.1 lib/svix/svix.rb
svix-1.59.0 lib/svix/svix.rb
svix-1.58.2 lib/svix/svix.rb
svix-1.58.1 lib/svix/svix.rb
svix-1.58.0 lib/svix/svix.rb
svix-1.57.0 lib/svix/svix.rb
svix-1.56.0 lib/svix/svix.rb
svix-1.45.1 lib/svix/svix.rb
svix-1.45.0 lib/svix/svix.rb
svix-1.44.0 lib/svix/svix.rb
svix-1.43.0 lib/svix/svix.rb
svix-1.42.0 lib/svix/svix.rb
svix-1.41.0 lib/svix/svix.rb
svix-1.40.0 lib/svix/svix.rb
svix-1.39.0 lib/svix/svix.rb
svix-1.38.0 lib/svix/svix.rb
svix-1.37.0 lib/svix/svix.rb