Class: Kombo::Kombo

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client: nil, retry_config: nil, timeout_ms: nil, security: nil, security_source: nil, integration_id: nil, server: nil, server_url: nil, url_params: nil) ⇒ Kombo

Returns a new instance of Kombo.

Raises:

  • (StandardError)


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/kombo/kombo.rb', line 45

def initialize(client: nil, retry_config: nil, timeout_ms: nil, security: nil, security_source: nil, integration_id: nil, server: nil, server_url: nil, url_params: nil)

  connection_options = {
    request: {
      params_encoder: Faraday::FlatParamsEncoder
    }
  }
  connection_options[:request][:timeout] = (timeout_ms.to_f / 1000) unless timeout_ms.nil?

  client ||= Faraday.new(**connection_options) do |f|
    f.request :multipart, {}
    # f.response :logger, nil, { headers: true, bodies: true, errors: true }
  end
  
  if !server_url.nil?
    if !url_params.nil?
      server_url = Utils.template_url(server_url, url_params)
    end
  end

  raise StandardError, "Invalid server \"#{server}\"" if !server.nil? && !SERVERS.key?(server)

  globals = {
    'parameters': {
      'queryParam': {
      },
      'pathParam': {
      },
      'header': {
        'integration_id': integration_id,
      }
    }
  }
  hooks = SDKHooks::Hooks.new
  @sdk_configuration = SDKConfiguration.new(
    client,
    hooks,
    retry_config,
    timeout_ms,
    security,
    security_source,
    server_url,
    server,
    globals
  )
  @sdk_configuration = hooks.sdk_init(config: @sdk_configuration)
  init_sdks
end

Instance Attribute Details

#assessmentObject

Returns the value of attribute assessment.



19
20
21
# File 'lib/kombo/kombo.rb', line 19

def assessment
  @assessment
end

#atsObject

Returns the value of attribute ats.



19
20
21
# File 'lib/kombo/kombo.rb', line 19

def ats
  @ats
end

#connectObject

Returns the value of attribute connect.



19
20
21
# File 'lib/kombo/kombo.rb', line 19

def connect
  @connect
end

#generalObject

Returns the value of attribute general.



19
20
21
# File 'lib/kombo/kombo.rb', line 19

def general
  @general
end

#hrisObject

Returns the value of attribute hris.



19
20
21
# File 'lib/kombo/kombo.rb', line 19

def hris
  @hris
end

Instance Method Details

#get_url(base_url:, url_variables: nil) ⇒ Object



104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/kombo/kombo.rb', line 104

def get_url(base_url:, url_variables: nil)
  sd_base_url, sd_options = @sdk_configuration.get_server_details

  if base_url.nil?
    base_url = sd_base_url
  end

  if url_variables.nil?
    url_variables = sd_options
  end

  return Utils.template_url base_url, url_variables
end

#init_sdksObject



95
96
97
98
99
100
101
# File 'lib/kombo/kombo.rb', line 95

def init_sdks
  @general = General.new(@sdk_configuration)
  @hris = Hris.new(@sdk_configuration)
  @ats = Ats.new(@sdk_configuration)
  @assessment = Assessment.new(@sdk_configuration)
  @connect = Connect.new(@sdk_configuration)
end