Class: OauthIm::Client

Inherits:
Object
  • Object
show all
Defined in:
app/services/oauth_im/client.rb

Class Method Summary collapse

Class Method Details

.for(request: nil, user_jwt: nil, secure_id: nil, client_id: nil, api_key: nil, idp_url: nil) ⇒ Object

rubocop:disable Metrics/ParameterLists, Metrics/MethodLength



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/services/oauth_im/client.rb', line 6

def self.for(request: nil,
             user_jwt: nil,
             secure_id: nil,
             client_id: nil,
             api_key: nil,
             idp_url: nil)
  if request.present?
    RequestClient.new request: request,
                      client_id: client_id,
                      idp_url: idp_url
  elsif user_jwt.present?
    UserClient.new user_jwt: user_jwt,
                   api_key: api_key,
                   idp_url: idp_url
  elsif secure_id.present?
    RegistrationClient.new secure_id: secure_id,
                           api_key: api_key,
                           idp_url: idp_url
  else
    AdminClient.new api_key: api_key,
                    idp_url: idp_url
  end
end