wolf_core 0.2.9 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24fd309efeace52826fbae718d212e6c75d5be974d799e79095947d71940a95a
4
- data.tar.gz: 9576b8cea48ba857997335976e1b418ecbfb9c28c73301d462cebc10a866662c
3
+ metadata.gz: 34de3ce44a6c43a34f730c9a1e1eebf091f63ce6a94c0acbccfc6f1e15e151ab
4
+ data.tar.gz: 3e16fb618f71f3c36f17dc312933dfad77ce0f32a0d3eb87bf775d2d16591c57
5
5
  SHA512:
6
- metadata.gz: e6205f56cb98a160d87433ae6c96038b7a084edcc0836c6b498b363a618bc2baff296d24730e91a924f93b468a7b39d2bf56c798d30343a66ca55b4ad1b644fb
7
- data.tar.gz: 1feafad333d4eacb956cdaf55606b9b4aa9a6a72113f3bb81239f56e8407400a5a0cfbc47d5b58b2ca9dbd4506869b55aee695fdbe2cc7f134b63f0c31baea33
6
+ metadata.gz: 95f3529936b64862714e4163e793a81e260193efd35dcc845569e80ea606904da74040bc17b0c69c75ff08f16d3c7361b9c6f05bc13d63cf71492ec8c8186f34
7
+ data.tar.gz: 635cd4831a4582f5bb134a917125fb95170b2b21f569e73c3d268ab37116839ce68917a4b2321cb3845cf0f8bd1fd180495f6ec03ad7395eb3a381f4f7aaa9be
@@ -16,10 +16,12 @@ module WolfCore
16
16
  }
17
17
 
18
18
  def map_job_type(value)
19
+ value = value.to_s
19
20
  JOB_TYPE_MAPPING[value] || value
20
21
  end
21
22
 
22
23
  def revert_map_job_type(value)
24
+ value = value.to_s
23
25
  JOB_TYPE_MAPPING.invert[value] || value
24
26
  end
25
27
  end
@@ -43,6 +43,25 @@ module WolfCore
43
43
  body: jobseeker
44
44
  )
45
45
  end
46
+
47
+ def update_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:, jobseeker_id:)
48
+ safe_http_put(
49
+ headers: { 'Authorization' => "Bearer #{wolf_token}" },
50
+ query: { tenant: tenant },
51
+ url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}",
52
+ body: jobseeker,
53
+ error_message: error_message,
54
+ )
55
+ end
56
+
57
+ def update_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, jobseeker_id:)
58
+ http_put(
59
+ headers: { 'Authorization' => "Bearer #{wolf_token}" },
60
+ query: { tenant: tenant },
61
+ url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}",
62
+ body: jobseeker
63
+ )
64
+ end
46
65
  end
47
66
  end
48
67
  end
@@ -4,12 +4,17 @@ module WolfCore
4
4
  include WolfCore::AsyncUtils
5
5
  include WolfCore::LoggingUtils
6
6
 
7
+ def parsed_http_get(url:, headers: {}, query: nil)
8
+ response = http_get(url: url, headers: headers, query: query)
9
+ parse_http_response(response)
10
+ end
11
+
7
12
  def async_http_get(**args)
8
- log_object 'starting async_http_get'
9
- log_object args, title: 'async_http_get args are'
13
+ log_object "starting async_http_get"
14
+ log_object args, title: "async_http_get args are"
10
15
  run_async do
11
16
  response = http_get(**args)
12
- log_object parse_http_response(response), title: 'async_http_get response is'
17
+ log_object parse_http_response(response), title: "async_http_get response is"
13
18
  end
14
19
  end
15
20
 
@@ -19,7 +24,7 @@ module WolfCore
19
24
 
20
25
  log_object response, title: title if title.present?
21
26
 
22
- error_message ||= 'Error on safe_http_get'
27
+ error_message ||= "Error on safe_http_get"
23
28
  validate_http_response(response: response, message: error_message)
24
29
 
25
30
  response
@@ -29,12 +34,17 @@ module WolfCore
29
34
  WolfCore::HttpDataSource.http_get(url: url, headers: headers, query: query)
30
35
  end
31
36
 
37
+ def parsed_http_post(url:, headers: {}, query: nil)
38
+ response = http_post(url: url, headers: headers, query: query)
39
+ parse_http_response(response)
40
+ end
41
+
32
42
  def async_http_post(**args)
33
43
  log_object "starting async_http_post"
34
- log_object args, title: 'async_http_post args are'
44
+ log_object args, title: "async_http_post args are"
35
45
  run_async do
36
46
  response = http_post(**args)
37
- log_object parse_http_response(response), title: 'async_http_post response is'
47
+ log_object parse_http_response(response), title: "async_http_post response is"
38
48
  end
39
49
  end
40
50
 
@@ -42,10 +52,10 @@ module WolfCore
42
52
  response = http_post(url: url, headers: headers, body: body, query: query)
43
53
  response = parse_http_response(response)
44
54
 
45
- title ||= 'safe_http_post response is'
55
+ title ||= "safe_http_post response is"
46
56
  log_object response, title: title
47
57
 
48
- error_message ||= 'Error on safe_http_post'
58
+ error_message ||= "Error on safe_http_post"
49
59
  validate_http_response(response: response, message: error_message)
50
60
 
51
61
  response
@@ -55,12 +65,17 @@ module WolfCore
55
65
  WolfCore::HttpDataSource.http_post(url: url, headers: headers, query: query, body: body)
56
66
  end
57
67
 
68
+ def parsed_http_put(url:, headers: {}, query: nil)
69
+ response = http_put(url: url, headers: headers, query: query)
70
+ parse_http_response(response)
71
+ end
72
+
58
73
  def async_http_put(**args)
59
- log_object 'starting async_http_put'
60
- log_object args, title: 'async_http_put args are'
74
+ log_object "starting async_http_put"
75
+ log_object args, title: "async_http_put args are"
61
76
  run_async do
62
77
  response = http_put(**args)
63
- log_object parse_http_response(response), title: 'async_http_put response is'
78
+ log_object parse_http_response(response), title: "async_http_put response is"
64
79
  end
65
80
  end
66
81
 
@@ -68,10 +83,10 @@ module WolfCore
68
83
  response = http_put(url: url, headers: headers, body: body, query: query)
69
84
  response = parse_http_response(response)
70
85
 
71
- title ||= 'safe_http_put response is'
86
+ title ||= "safe_http_put response is"
72
87
  log_object response, title: title
73
88
 
74
- error_message ||= 'Error on safe_http_put'
89
+ error_message ||= "Error on safe_http_put"
75
90
  validate_http_response(response: response, message: error_message)
76
91
 
77
92
  response
@@ -82,22 +97,26 @@ module WolfCore
82
97
  end
83
98
 
84
99
  def validate_http_response(response:, message:, error_data: nil)
85
- unless response.code == 200
86
- error_data = {
87
- message: message,
88
- response: parse_http_response(response)
89
- }.merge(error_data || {})
90
- raise_service_error(error_data)
91
- end
100
+ return if response.code == 200
101
+
102
+ error_data = {
103
+ message: message,
104
+ response: parse_http_response(response)
105
+ }.merge(error_data || {})
106
+ raise_service_error(error_data)
92
107
  end
93
108
 
94
109
  def parse_http_response(response)
95
- body = JSON.parse(response.body) rescue response.body
110
+ body = begin
111
+ JSON.parse(response.body)
112
+ rescue StandardError
113
+ response.body
114
+ end
96
115
  OpenStruct.new({
97
- code: response.code,
98
- body: body,
99
- message: response.message,
100
- })
116
+ code: response.code,
117
+ body: body,
118
+ message: response.message
119
+ })
101
120
  end
102
121
  end
103
- end
122
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "0.2.9"
4
+ VERSION = "1.0.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wolf_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Roncallo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-11 00:00:00.000000000 Z
11
+ date: 2024-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty