Sha256: 42d274b35e4bec7d487ff7326d943288d8b4384751789fb62604b99b5a17a994

Contents?: true

Size: 1.59 KB

Versions: 5

Compression:

Stored size: 1.59 KB

Contents

require 'seatsio/version'
require 'seatsio/charts'
require 'seatsio/subaccounts'
require 'seatsio/workspaces'
require 'seatsio/events'
require 'seatsio/hold_tokens'
require 'seatsio/chart_reports'
require 'seatsio/event_reports'
require 'seatsio/usage_reports'

module Seatsio
  class Client
    attr_reader :charts, :subaccounts, :workspaces, :events,
                :hold_tokens, :chart_reports, :event_reports, :usage_reports

    def initialize(region, secret_key, workspace_key = nil)
      base_url = region.url
      @charts = ChartsClient.new(secret_key, workspace_key, base_url)
      @subaccounts = SubaccountsClient.new(secret_key, workspace_key, base_url)
      @workspaces = WorkspacesClient.new(secret_key, base_url)
      @events = EventsClient.new(secret_key, workspace_key, base_url)
      @hold_tokens = HoldTokensClient.new(secret_key, workspace_key, base_url)
      @chart_reports = ChartReportsClient.new(secret_key, workspace_key, base_url)
      @event_reports = EventReportsClient.new(secret_key, workspace_key, base_url)
      @usage_reports = UsageReportsClient.new(secret_key, workspace_key, base_url)
    end
  end

  class Region
    attr_reader :url

    def initialize(url)
      @url = url
    end

    def self.EU()
      return Region.new(Region.url_for_id("eu"))
    end

    def self.NA()
      return Region.new(Region.url_for_id("na"))
    end

    def self.SA()
      return Region.new(Region.url_for_id("sa"))
    end

    def self.OC()
      return Region.new(Region.url_for_id("oc"))
    end

    def self.url_for_id(id)
      return "https://api-" + id + ".seatsio.net"
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
seatsio-32.5.0 lib/seatsio.rb
seatsio-32.2.0 lib/seatsio.rb
seatsio-32.1.0 lib/seatsio.rb
seatsio-32.0.0 lib/seatsio.rb
seatsio-31.0.0 lib/seatsio.rb