Class: ZaloAPI::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/zalo_api/configuration.rb

Overview

Holds the configuration options for the client and connection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



22
23
24
# File 'lib/zalo_api/configuration.rb', line 22

def initialize
  @client_options = {}
end

Instance Attribute Details

#access_tokenString

Returns OAuth2 access_token.

Returns:

  • (String)

    OAuth2 access_token



14
15
16
# File 'lib/zalo_api/configuration.rb', line 14

def access_token
  @access_token
end

#app_idString

Returns App id.

Returns:

  • (String)

    App id



5
6
7
# File 'lib/zalo_api/configuration.rb', line 5

def app_id
  @app_id
end

#app_secretString

Returns App secret.

Returns:

  • (String)

    App secret



8
9
10
# File 'lib/zalo_api/configuration.rb', line 8

def app_secret
  @app_secret
end

#client_optionsHash

Returns Client configurations (eg ssh config) to pass to Faraday.

Returns:

  • (Hash)

    Client configurations (eg ssh config) to pass to Faraday



11
12
13
# File 'lib/zalo_api/configuration.rb', line 11

def client_options
  @client_options
end

#loggerLogger

Returns Logger to use when logging requests.

Returns:

  • (Logger)

    Logger to use when logging requests.



17
18
19
# File 'lib/zalo_api/configuration.rb', line 17

def logger
  @logger
end

#retryBoolean

Returns Whether to attempt to retry when rate-limited (http status: 429).

Returns:

  • (Boolean)

    Whether to attempt to retry when rate-limited (http status: 429).



20
21
22
# File 'lib/zalo_api/configuration.rb', line 20

def retry
  @retry
end

Instance Method Details

#optionsHash

Sets accept and user_agent headers, and url.

Returns:

  • (Hash)

    Faraday-formatted hash of options.



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/zalo_api/configuration.rb', line 29

def options
  {
    :headers => {
      :accept => 'application/json',
      :accept_encoding => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
      :user_agent => "ZaloAPI Ruby #{ZaloAPI::VERSION}"
    },
    :request => {
      :open_timeout => 10
    }
  }.merge(client_options)
end