mekari_sso 0.0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/config.rb +43 -0
- data/lib/mekari_sso.rb +84 -0
- data/lib/params/company_register.rb +48 -0
- data/lib/params/company_remove.rb +31 -0
- data/lib/params/user_register.rb +43 -0
- data/lib/requests/current_user.rb +27 -0
- data/lib/requests/generate_credential_client.rb +29 -0
- data/lib/requests/generate_credential_code.rb +30 -0
- data/lib/requests/http_request.rb +59 -0
- data/lib/requests/industries.rb +27 -0
- data/lib/requests/refresh.rb +30 -0
- data/lib/requests/register_company.rb +46 -0
- data/lib/requests/register_user.rb +37 -0
- data/lib/requests/remove_company.rb +27 -0
- data/lib/requests/revoke.rb +27 -0
- data/lib/requests/sender.rb +33 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f33247db096802659c274da652372c7497ad5f2d37a909e0809438d829ff92e1
|
4
|
+
data.tar.gz: 16c05aeda1d56fbe59e810ec95751553ee21bdb12ee9d3aee2e29623b477da88
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d284d8c15d544eeb522f149ed7e2546d1284b17939f766b86f73c2625a94bf3085663cb27409b7f08a43a86c15352019785922524f34756055d6269517c33490
|
7
|
+
data.tar.gz: 6d5c1839006f0d06c0437662e201712983a938640043d73236edaabc797e9abe236ba184e4eb2f855faaba9718dc2ee23b94dab396d87f2848af6dff190b84b5
|
data/lib/config.rb
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module MekariSso
|
4
|
+
class Config
|
5
|
+
attr_accessor :client_id, :client_secret, :base_url, :access_token
|
6
|
+
|
7
|
+
# AVAILABLE_KEYS = %i[client_id client_secret base_url access_token].freeze
|
8
|
+
|
9
|
+
def initialize(options = nil)
|
10
|
+
apply(options) if options
|
11
|
+
end
|
12
|
+
|
13
|
+
def available_keys
|
14
|
+
%i[client_id client_secret base_url access_token]
|
15
|
+
end
|
16
|
+
|
17
|
+
def apply(hash)
|
18
|
+
hash.each do |key, value|
|
19
|
+
unless available_keys.include?(key.to_s.to_sym)
|
20
|
+
raise ArgumentError,
|
21
|
+
"Unknown option #{key.inspect},
|
22
|
+
available keys: #{available_keys.map(&:inspect).join(', ')}"
|
23
|
+
end
|
24
|
+
|
25
|
+
send(:"#{key}=", value)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def validate_required!
|
30
|
+
unless @client_id.present?
|
31
|
+
raise ArgumentError, "Params client_id is required options"
|
32
|
+
end
|
33
|
+
|
34
|
+
unless @client_secret.present?
|
35
|
+
raise ArgumentError, "Params client_secret is required options"
|
36
|
+
end
|
37
|
+
|
38
|
+
unless @base_url.present?
|
39
|
+
raise ArgumentError, "Params base_url is required options"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/mekari_sso.rb
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'config'
|
4
|
+
require 'requests/current_user'
|
5
|
+
require 'requests/generate_credential_client'
|
6
|
+
require 'requests/generate_credential_code'
|
7
|
+
require 'requests/industries'
|
8
|
+
require 'requests/refresh'
|
9
|
+
require 'requests/revoke'
|
10
|
+
require 'requests/sender'
|
11
|
+
require 'requests/register_company'
|
12
|
+
require 'requests/register_user'
|
13
|
+
require 'requests/remove_company'
|
14
|
+
require 'params/user_register'
|
15
|
+
require 'params/company_register'
|
16
|
+
require 'params/company_remove'
|
17
|
+
|
18
|
+
require 'active_support'
|
19
|
+
require 'active_support/core_ext'
|
20
|
+
|
21
|
+
module MekariSso
|
22
|
+
class Client
|
23
|
+
attr_accessor :options
|
24
|
+
|
25
|
+
def initialize(options = nil)
|
26
|
+
@options = MekariSso::Config.new(options)
|
27
|
+
@options.validate_required!
|
28
|
+
end
|
29
|
+
|
30
|
+
def generate_client
|
31
|
+
sender = MekariSso::Sender.new
|
32
|
+
sender >> MekariSso::GenerateCredentialClient.new(@options)
|
33
|
+
end
|
34
|
+
|
35
|
+
def generate_code(code)
|
36
|
+
sender = MekariSso::Sender.new
|
37
|
+
sender >> MekariSso::GenerateCredentialCode.new(@options, code)
|
38
|
+
end
|
39
|
+
|
40
|
+
def refresh_token(token)
|
41
|
+
sender = MekariSso::Sender.new
|
42
|
+
sender >> MekariSso::Refresh.new(@options, token)
|
43
|
+
end
|
44
|
+
|
45
|
+
def revoke_token(token)
|
46
|
+
sender = MekariSso::Sender.new
|
47
|
+
sender >> MekariSso::Revoke.new(@options, token)
|
48
|
+
end
|
49
|
+
|
50
|
+
def current_user(token)
|
51
|
+
sender = MekariSso::Sender.new
|
52
|
+
sender >> MekariSso::CurrentUser.new(@options, token)
|
53
|
+
end
|
54
|
+
|
55
|
+
def industries(token)
|
56
|
+
sender = MekariSso::Sender.new
|
57
|
+
sender >> MekariSso::Industries.new(@options, token)
|
58
|
+
end
|
59
|
+
|
60
|
+
def register(params = {})
|
61
|
+
user = MekariSso::UserRegister.new(params)
|
62
|
+
user.validate_required!
|
63
|
+
|
64
|
+
sender = MekariSso::Sender.new
|
65
|
+
sender >> MekariSso::RegisterUser.new(@options, user)
|
66
|
+
end
|
67
|
+
|
68
|
+
def register_company(params = {})
|
69
|
+
company = MekariSso::CompanyRegister.new(params)
|
70
|
+
company.validate_required!
|
71
|
+
|
72
|
+
sender = MekariSso::Sender.new
|
73
|
+
sender >> MekariSso::RegisterCompany.new(@options, company)
|
74
|
+
end
|
75
|
+
|
76
|
+
def remove_company(params)
|
77
|
+
company = MekariSso::CompanyRemove.new(params)
|
78
|
+
company.validate_required!
|
79
|
+
|
80
|
+
sender = MekariSso::Sender.new
|
81
|
+
sender >> MekariSso::RemoveCompany.new(@options, company)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'config'
|
4
|
+
|
5
|
+
module MekariSso
|
6
|
+
class CompanyRegister < MekariSso::Config
|
7
|
+
attr_accessor :name, :email, :industry_id, :industry_name, :user_id, :brand_name, :main_address, :access_token,
|
8
|
+
:secondary_address, :phone, :tax_name, :tax_number, :billing_name, :billing_email, :billing_phone
|
9
|
+
|
10
|
+
def initialize(options = nil)
|
11
|
+
apply(options) if options
|
12
|
+
end
|
13
|
+
|
14
|
+
def available_keys
|
15
|
+
%i[
|
16
|
+
access_token
|
17
|
+
name
|
18
|
+
email
|
19
|
+
industry_id
|
20
|
+
industry_name
|
21
|
+
user_id
|
22
|
+
brand_name
|
23
|
+
main_address
|
24
|
+
secondary_address
|
25
|
+
phone
|
26
|
+
tax_name
|
27
|
+
tax_number
|
28
|
+
billing_name
|
29
|
+
billing_email
|
30
|
+
billing_phone
|
31
|
+
]
|
32
|
+
end
|
33
|
+
|
34
|
+
def validate_required!
|
35
|
+
unless @name.present?
|
36
|
+
raise ArgumentError, "Params name is required options"
|
37
|
+
end
|
38
|
+
|
39
|
+
unless @email.present?
|
40
|
+
raise ArgumentError, "Params email is required options"
|
41
|
+
end
|
42
|
+
|
43
|
+
unless @user_id.present?
|
44
|
+
raise ArgumentError, "Params user_id is required options"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'config'
|
4
|
+
|
5
|
+
module MekariSso
|
6
|
+
class CompanyRemove < MekariSso::Config
|
7
|
+
attr_accessor :access_token, :company_id, :user_id
|
8
|
+
|
9
|
+
def initialize(options = nil)
|
10
|
+
apply(options) if options
|
11
|
+
end
|
12
|
+
|
13
|
+
def available_keys
|
14
|
+
%i[company_id user_id access_token]
|
15
|
+
end
|
16
|
+
|
17
|
+
def validate_required!
|
18
|
+
unless @access_token.present?
|
19
|
+
raise ArgumentError, "Params access_token is required options"
|
20
|
+
end
|
21
|
+
|
22
|
+
unless @company_id.present?
|
23
|
+
raise ArgumentError, "Params company_id is required options"
|
24
|
+
end
|
25
|
+
|
26
|
+
unless @user_id.present?
|
27
|
+
raise ArgumentError, "Params user_id is required options"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'config'
|
4
|
+
|
5
|
+
module MekariSso
|
6
|
+
class UserRegister < MekariSso::Config
|
7
|
+
attr_accessor :email, :first_name, :last_name, :password, :phone, :access_token
|
8
|
+
|
9
|
+
def initialize(options = nil)
|
10
|
+
apply(options) if options
|
11
|
+
end
|
12
|
+
|
13
|
+
def available_keys
|
14
|
+
%i[email first_name last_name password phone access_token]
|
15
|
+
end
|
16
|
+
|
17
|
+
def validate_required!
|
18
|
+
unless @email.present?
|
19
|
+
raise ArgumentError, "Params email is required options"
|
20
|
+
end
|
21
|
+
|
22
|
+
unless @first_name.present?
|
23
|
+
raise ArgumentError, "Params first_name is required options"
|
24
|
+
end
|
25
|
+
|
26
|
+
unless @last_name.present?
|
27
|
+
raise ArgumentError, "Params last_name is required options"
|
28
|
+
end
|
29
|
+
|
30
|
+
unless @password.present?
|
31
|
+
raise ArgumentError, "Params password is required options"
|
32
|
+
end
|
33
|
+
|
34
|
+
unless @phone.present?
|
35
|
+
raise ArgumentError, "Params phone is required options"
|
36
|
+
end
|
37
|
+
|
38
|
+
unless @access_token.present?
|
39
|
+
raise ArgumentError, "Params access_token is required options"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class CurrentUser < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :token
|
10
|
+
|
11
|
+
def initialize(config, token)
|
12
|
+
@config = config
|
13
|
+
@token = token
|
14
|
+
end
|
15
|
+
|
16
|
+
def headers_request
|
17
|
+
headers.merge({
|
18
|
+
authorization: "Bearer #{@token}"
|
19
|
+
})
|
20
|
+
end
|
21
|
+
|
22
|
+
def send
|
23
|
+
RestClient.get "#{@config.base_url}/v1/users/me", headers_request
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class GenerateCredentialClient < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config
|
10
|
+
|
11
|
+
def initialize(config)
|
12
|
+
@config = config
|
13
|
+
end
|
14
|
+
|
15
|
+
def params
|
16
|
+
{
|
17
|
+
client_id: @config.client_id,
|
18
|
+
client_secret: @config.client_secret,
|
19
|
+
grant_type: 'client_credentials',
|
20
|
+
scope: 'sso:profile'
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def send
|
25
|
+
RestClient.post "#{@config.base_url}/auth/oauth2/token", params
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class GenerateCredentialCode < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :code
|
10
|
+
|
11
|
+
def initialize(config, code)
|
12
|
+
@config = config
|
13
|
+
@code = code
|
14
|
+
end
|
15
|
+
|
16
|
+
def params
|
17
|
+
{
|
18
|
+
client_id: @config.client_id,
|
19
|
+
client_secret: @config.client_secret,
|
20
|
+
grant_type: 'authorization_code',
|
21
|
+
code: @code
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def send
|
26
|
+
RestClient.post "#{@config.base_url}/auth/oauth2/token", params
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
module MekariSso
|
6
|
+
class HttpRequest
|
7
|
+
def send; end
|
8
|
+
|
9
|
+
def params; end
|
10
|
+
|
11
|
+
def headers
|
12
|
+
{
|
13
|
+
accept: :json,
|
14
|
+
content_type: :json
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
def after_success(data)
|
19
|
+
{
|
20
|
+
response: data
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def after_error(data, error)
|
25
|
+
{
|
26
|
+
response: data,
|
27
|
+
error: error
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
def original_response
|
32
|
+
@with_original_response = true
|
33
|
+
self
|
34
|
+
end
|
35
|
+
|
36
|
+
def handle_response(response)
|
37
|
+
if @with_original_response
|
38
|
+
begin
|
39
|
+
result = Struct.new
|
40
|
+
return result.new(JSON.parse(response.body))
|
41
|
+
rescue StandardError
|
42
|
+
return response.body
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
result = JSON.parse(response)
|
47
|
+
|
48
|
+
after_success(result)
|
49
|
+
end
|
50
|
+
|
51
|
+
def handle_error(response, error)
|
52
|
+
result = JSON.parse(response)
|
53
|
+
|
54
|
+
after_error(result, error.to_s)
|
55
|
+
rescue
|
56
|
+
after_error(result, error.to_s)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class Industries < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :token
|
10
|
+
|
11
|
+
def initialize(config, token)
|
12
|
+
@config = config
|
13
|
+
@token = token
|
14
|
+
end
|
15
|
+
|
16
|
+
def headers_request
|
17
|
+
headers.merge({
|
18
|
+
authorization: "Bearer #{@token}"
|
19
|
+
})
|
20
|
+
end
|
21
|
+
|
22
|
+
def send
|
23
|
+
RestClient.get "#{@config.base_url}/v1/industries", headers_request
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class Refresh < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :code
|
10
|
+
|
11
|
+
def initialize(config, refresh_token)
|
12
|
+
@config = config
|
13
|
+
@refresh_token = refresh_token
|
14
|
+
end
|
15
|
+
|
16
|
+
def params
|
17
|
+
{
|
18
|
+
client_id: @config.client_id,
|
19
|
+
client_secret: @config.client_secret,
|
20
|
+
grant_type: 'refresh_token',
|
21
|
+
refresh_token: @refresh_token
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def send
|
26
|
+
RestClient.post "#{@config.base_url}/auth/oauth2/token", params
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class RegisterCompany < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :params
|
10
|
+
|
11
|
+
def initialize(config, params)
|
12
|
+
@config = config
|
13
|
+
@params = params
|
14
|
+
end
|
15
|
+
|
16
|
+
def params
|
17
|
+
{
|
18
|
+
name: @params.name,
|
19
|
+
email: @params.email,
|
20
|
+
industry_id: @params.industry_id,
|
21
|
+
industry_name: @params.industry_name,
|
22
|
+
user_id: @params.user_id,
|
23
|
+
brand_name: @params.brand_name,
|
24
|
+
main_address: @params.main_address,
|
25
|
+
secondary_address: @params.secondary_address,
|
26
|
+
phone: @params.phone,
|
27
|
+
tax_name: @params.tax_name,
|
28
|
+
tax_number: @params.tax_number,
|
29
|
+
billing_name: @params.billing_name,
|
30
|
+
billing_email: @params.billing_email,
|
31
|
+
billing_phone: @params.billing_phone
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
def headers_request
|
36
|
+
headers.merge({
|
37
|
+
authorization: "Bearer #{@params.access_token}"
|
38
|
+
})
|
39
|
+
end
|
40
|
+
|
41
|
+
def send
|
42
|
+
RestClient.post "#{@config.base_url}/v1/companies", params, headers_request
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class RegisterUser < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :params
|
10
|
+
|
11
|
+
def initialize(config, params)
|
12
|
+
@config = config
|
13
|
+
@params = params
|
14
|
+
end
|
15
|
+
|
16
|
+
def params
|
17
|
+
{
|
18
|
+
email: @params.email,
|
19
|
+
first_name: @params.first_name,
|
20
|
+
last_name: @params.last_name,
|
21
|
+
password: @params.password,
|
22
|
+
phone: @params.phone
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
def headers_request
|
27
|
+
headers.merge({
|
28
|
+
authorization: "Bearer #{@params.access_token}"
|
29
|
+
})
|
30
|
+
end
|
31
|
+
|
32
|
+
def send
|
33
|
+
RestClient.post "#{@config.base_url}/v1/users/", params, headers_request
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class RemoveCompany < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :params
|
10
|
+
|
11
|
+
def initialize(config, params)
|
12
|
+
@config = config
|
13
|
+
@params = params
|
14
|
+
end
|
15
|
+
|
16
|
+
def headers_request
|
17
|
+
headers.merge({
|
18
|
+
authorization: "Bearer #{@params.access_token}"
|
19
|
+
})
|
20
|
+
end
|
21
|
+
|
22
|
+
def send
|
23
|
+
RestClient.delete "#{@config.base_url}/v1/companies/#{@params.company_id}/users/#{@params.user_id}", headers_request
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rest-client'
|
4
|
+
require_relative 'http_request'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class Revoke < MekariSso::HttpRequest
|
8
|
+
|
9
|
+
attr_reader :config, :token
|
10
|
+
|
11
|
+
def initialize(config, token)
|
12
|
+
@config = config
|
13
|
+
@token = token
|
14
|
+
end
|
15
|
+
|
16
|
+
def headers_request
|
17
|
+
headers.merge({
|
18
|
+
authorization: "Bearer #{@token}"
|
19
|
+
})
|
20
|
+
end
|
21
|
+
|
22
|
+
def send
|
23
|
+
RestClient.delete "#{@config.base_url}/auth/oauth2/token", headers_request
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rest-client'
|
3
|
+
require 'active_support'
|
4
|
+
require 'active_support/core_ext'
|
5
|
+
|
6
|
+
module MekariSso
|
7
|
+
class Sender
|
8
|
+
def initialize(request = [])
|
9
|
+
@request = request
|
10
|
+
end
|
11
|
+
|
12
|
+
def <<(request)
|
13
|
+
@request << request
|
14
|
+
end
|
15
|
+
|
16
|
+
def >>(other)
|
17
|
+
send(other)
|
18
|
+
end
|
19
|
+
|
20
|
+
def send(request)
|
21
|
+
return unless request.present?
|
22
|
+
|
23
|
+
request.handle_response(request.send)
|
24
|
+
rescue RestClient::ExceptionWithResponse => e
|
25
|
+
response = e.response.present? ? e.response : e.message
|
26
|
+
request.handle_error(response, e)
|
27
|
+
rescue StandardError => e
|
28
|
+
request.handle_error(e.message, e)
|
29
|
+
rescue RestClient::NotFound => e
|
30
|
+
request.handle_error(e.message, e)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mekari_sso
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- WSPDV
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-02-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rest-client
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.6'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 2.6.1
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.6'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 2.6.1
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rspec
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.0'
|
61
|
+
description:
|
62
|
+
email: dwi.heru@mekari.com
|
63
|
+
executables: []
|
64
|
+
extensions: []
|
65
|
+
extra_rdoc_files: []
|
66
|
+
files:
|
67
|
+
- lib/config.rb
|
68
|
+
- lib/mekari_sso.rb
|
69
|
+
- lib/params/company_register.rb
|
70
|
+
- lib/params/company_remove.rb
|
71
|
+
- lib/params/user_register.rb
|
72
|
+
- lib/requests/current_user.rb
|
73
|
+
- lib/requests/generate_credential_client.rb
|
74
|
+
- lib/requests/generate_credential_code.rb
|
75
|
+
- lib/requests/http_request.rb
|
76
|
+
- lib/requests/industries.rb
|
77
|
+
- lib/requests/refresh.rb
|
78
|
+
- lib/requests/register_company.rb
|
79
|
+
- lib/requests/register_user.rb
|
80
|
+
- lib/requests/remove_company.rb
|
81
|
+
- lib/requests/revoke.rb
|
82
|
+
- lib/requests/sender.rb
|
83
|
+
homepage: https://gitlab.com/dwiheruwaspodo/mekari_sso
|
84
|
+
licenses:
|
85
|
+
- MIT
|
86
|
+
metadata: {}
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options: []
|
89
|
+
require_paths:
|
90
|
+
- lib
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
requirements: []
|
102
|
+
rubygems_version: 3.3.6
|
103
|
+
signing_key:
|
104
|
+
specification_version: 4
|
105
|
+
summary: support mekari sso
|
106
|
+
test_files: []
|