Sha256: 663e254bd8098c9082b417c86281cf7f8a3691eb027e5df4c78deefb2b01e83e

Contents?: true

Size: 1.26 KB

Versions: 4

Compression:

Stored size: 1.26 KB

Contents

module Citrix
  module Training
    class Client
      include Helpers::Initializer

      # Set credentials.
      attr_accessor :credentials

      # Initialize a client with provided credentials.
      # The credentials must be a instance of or
      # a Hash accepted by `Citrix::Training::Credentials`.
      #
      #   client = Citrix::Training::Client.build(
      #     oauth_token: ENV.fetch('CITRIX_OAUTH_TOKEN'),
      #     organizer_key: ENV.fetch('CITRIX_ORGANIZER_KEY'),
      #     account_key: ENV.fetch('CITRIX_ACCOUNT_KEY')
      #   )
      #
      def self.build(credentials)
        new(credentials: Credentials.build(credentials))
      end

      # Return the training namespace, which include methods for creating and
      # finding trainings. For additional info, check
      # `Citrix::Training::Namespace::Trainings`.
      def trainings
        Namespace::Trainings.new(credentials: credentials)
      end

      # Return the registrants namespace, which include methods for creating
      # registrants. It requires an existing training.
      # For additional info, check `Citrix::Training::Namespace::Registrants`.
      def registrants(training)
        Namespace::Registrants.new(credentials: credentials, training: training)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
citrix-0.2.2 lib/citrix/training/client.rb
citrix-0.2.1 lib/citrix/training/client.rb
citrix-0.2.0 lib/citrix/training/client.rb
citrix-0.1.0 lib/citrix/training/client.rb