Class: School21::Client

Inherits:
Object
  • Object
show all
Includes:
CoreLibrary
Defined in:
lib/school21/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(login:, password:) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/school21/client.rb', line 7

def initialize(login:, password:)
  raise ArgumentError, "login can't be nil or empty" if .nil? || .empty?
  raise ArgumentError, "password can't be nil or empty" if password.nil? || password.empty?

  client_configuration = HttpClientConfiguration.new(logging_configuration:)
  http_client = FaradayClient.new(client_configuration)
  client_configuration.set_http_client(http_client)

  @login = 
  @password = password

  @config = GlobalConfiguration
            .new(client_configuration:)
            .base_uri_executor(BaseApi.method(:base_uri))

  initialize_auth!
end

Instance Method Details

#auth_apiObject



25
# File 'lib/school21/client.rb', line 25

def auth_api = @auth_api ||= AuthApi.new(@config)

#participants_apiObject



27
28
29
30
31
# File 'lib/school21/client.rb', line 27

def participants_api
  initialize_auth! if @access_token.expired?

  ParticipantsApi.new(@config)
end

#projects_apiObject



33
34
35
36
37
# File 'lib/school21/client.rb', line 33

def projects_api
  initialize_auth! if @access_token.expired?

  ProjectsApi.new(@config)
end