Class: DingSDK::Ding

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/ding_sdk/ding.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client: nil, security: nil, server_idx: nil, server_url: nil, url_params: nil) ⇒ Ding

Returns a new instance of Ding.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/ding_sdk/ding.rb', line 25

def initialize(client: nil,
               security: nil,
               server_idx: nil,
               server_url: nil,
               url_params: nil)

  ## Instantiates the SDK configuring it with the provided parameters.
  # @param [Faraday::Request] client The faraday HTTP client to use for all operations
  # @param [Shared::Security] security The security details required for authentication
  # @param [::Integer] server_idx The index of the server to use for all operations
  # @param [::String] server_url The server URL to use for all operations
  # @param [::Hash<::Symbol, ::String>] url_params Parameters to optionally template the server URL with

  if client.nil?
    client = Faraday.new(request: {
                      params_encoder: Faraday::FlatParamsEncoder
                    }) do |f|
      f.request :multipart, {}
      # f.response :logger
    end
  end

  if !server_url.nil?
    if !url_params.nil?
      server_url = Utils.template_url(server_url, url_params)
    end
  end
  server_idx = 0 if server_idx.nil?

  @sdk_configuration = SDKConfiguration.new(client, security, server_url, server_idx)
  init_sdks
end

Instance Attribute Details

#lookupObject

Returns the value of attribute lookup.



16
17
18
# File 'lib/ding_sdk/ding.rb', line 16

def lookup
  @lookup
end

#otpObject

Returns the value of attribute otp.



16
17
18
# File 'lib/ding_sdk/ding.rb', line 16

def otp
  @otp
end

Instance Method Details

#config_security(security) ⇒ Object



72
73
74
# File 'lib/ding_sdk/ding.rb', line 72

def config_security(security)
  @sdk_configuration.security = security
end

#config_server(server_idx) ⇒ Object

Raises:

  • (StandardError)


65
66
67
68
69
# File 'lib/ding_sdk/ding.rb', line 65

def config_server(server_idx)
  raise StandardError, "Invalid server index #{server_idx}" if server_idx.negative? || server_idx >= SERVERS.length
  @sdk_configuration.server_idx = server_idx
  init_sdks
end

#config_server_url(server_url) ⇒ Object



59
60
61
62
# File 'lib/ding_sdk/ding.rb', line 59

def config_server_url(server_url)
  @sdk_configuration.server_url = server_url
  init_sdks
end

#init_sdksObject



77
78
79
80
# File 'lib/ding_sdk/ding.rb', line 77

def init_sdks
  @otp = Otp.new(@sdk_configuration)
  @lookup = Lookup.new(@sdk_configuration)
end