wolf_core 1.0.4 → 1.0.6

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: 35aeeac3f51bc3fbbe02a1d7148d2d33da262ead551290abe5576ad667b35c0f
4
- data.tar.gz: 23ee8419964b3d6e5771b1177ef1d43b51024c42f466feb7774c490a79fb0f7e
3
+ metadata.gz: 0c7897679b1a29f38652e90e2023e12a0959759bbff7142d2a9e8da65c16715f
4
+ data.tar.gz: 46753cc5d2f6896bd44a0e435ebb172d378f221cf0bdd60808356d9ef3f45391
5
5
  SHA512:
6
- metadata.gz: 4eddb905a05b63ae58e27882c4d7ef227c7684de1e95816448052471e590510ebc95a35beea29b34c8ca11db29b6fd24fda4de912e0527458090b111188a22c2
7
- data.tar.gz: 56d83567fe97d018747f635d7df6ba07c2419d829e191021260d0be116c809bc388ec09f37478e2c71210e10029da88a32bbc7554a30b5bd5341338f736b0d9d
6
+ metadata.gz: 01043ab0fb6d14d87613bf8f85dd79aa7c33320790aaab8205d80418088893e7996bb1c687cea965d3580c979f1139bcb783cfcbf68aafca7c3738a28d4066d5
7
+ data.tar.gz: 1000de72032d73ba9f9032d1db2a23a1e8a8745398540e53236ea1d10402d5a9f0ce39a6cce2008054684fce0e845e291a3a575072b2dd04fc7608244b1275ff
@@ -30,7 +30,8 @@ module WolfCore
30
30
 
31
31
  def route_event_request(path:, body:)
32
32
  environment = ENV['ENVIRONMENT']
33
- if environment == 'production'
33
+ deployable_envs = ['production', 'staging']
34
+ if deployable_envs.include?(environment)
34
35
  function_name = PATH_TO_FUNCTION_NAME_MAPPING[path]
35
36
  raise_service_error("Function name not found for path: #{path}") if function_name.blank?
36
37
 
@@ -5,39 +5,40 @@ module WolfCore
5
5
 
6
6
  def fetch_jobseeker!(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:, error_message:)
7
7
  response = safe_http_get(
8
- headers: { 'Authorization' => "Bearer #{wolf_token}" },
8
+ headers: { "Authorization" => "Bearer #{wolf_token}" },
9
9
  url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}",
10
10
  query: { tenant: tenant },
11
- error_message: error_message,
11
+ error_message: error_message
12
12
  )
13
13
  response_body = response.body
14
- response_body.dig('data', 'table', 'jobseeker')
14
+ response_body.dig("data", "table", "jobseeker")
15
15
  end
16
16
 
17
17
  def fetch_jobseeker(wolf_token:, jobseeker_id:, tenant:, wolf_platform_url:)
18
- response = http_get(
19
- headers: { 'Authorization' => "Bearer #{wolf_token}" },
18
+ response = parsed_http_get(
19
+ headers: { "Authorization" => "Bearer #{wolf_token}" },
20
20
  url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}",
21
- query: { tenant: tenant },
21
+ query: { tenant: tenant }
22
22
  )
23
23
  response_body = response.body
24
24
  return unless response_body.instance_of?(Hash)
25
- response_body.dig('data', 'table', 'jobseeker')
25
+
26
+ response_body.dig("data", "table", "jobseeker")
26
27
  end
27
28
 
28
29
  def create_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:)
29
30
  safe_http_post(
30
- headers: { 'Authorization' => "Bearer #{wolf_token}" },
31
+ headers: { "Authorization" => "Bearer #{wolf_token}" },
31
32
  query: { tenant: tenant },
32
33
  url: "#{wolf_platform_url}/api/v2/jobseekers",
33
34
  body: jobseeker,
34
- error_message: error_message,
35
+ error_message: error_message
35
36
  )
36
37
  end
37
38
 
38
39
  def create_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:)
39
- http_post(
40
- headers: { 'Authorization' => "Bearer #{wolf_token}" },
40
+ parsed_http_post(
41
+ headers: { "Authorization" => "Bearer #{wolf_token}" },
41
42
  query: { tenant: tenant },
42
43
  url: "#{wolf_platform_url}/api/v2/jobseekers",
43
44
  body: jobseeker
@@ -46,17 +47,17 @@ module WolfCore
46
47
 
47
48
  def update_jobseeker!(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, error_message:, jobseeker_id:)
48
49
  safe_http_put(
49
- headers: { 'Authorization' => "Bearer #{wolf_token}" },
50
+ headers: { "Authorization" => "Bearer #{wolf_token}" },
50
51
  query: { tenant: tenant },
51
52
  url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}",
52
53
  body: jobseeker,
53
- error_message: error_message,
54
+ error_message: error_message
54
55
  )
55
56
  end
56
57
 
57
58
  def update_jobseeker(wolf_token:, jobseeker:, tenant:, wolf_platform_url:, jobseeker_id:)
58
- http_put(
59
- headers: { 'Authorization' => "Bearer #{wolf_token}" },
59
+ parsed_http_put(
60
+ headers: { "Authorization" => "Bearer #{wolf_token}" },
60
61
  query: { tenant: tenant },
61
62
  url: "#{wolf_platform_url}/api/v2/jobseekers/#{jobseeker_id}",
62
63
  body: jobseeker
@@ -64,4 +65,4 @@ module WolfCore
64
65
  end
65
66
  end
66
67
  end
67
- end
68
+ end
@@ -7,7 +7,8 @@ module WolfCore
7
7
 
8
8
  def route_event_request(path:, body:)
9
9
  environment = ENV['ENVIRONMENT']
10
- if environment == 'production'
10
+ deployable_envs = ['production', 'staging']
11
+ if deployable_envs.include?(environment)
11
12
  function_name = PATH_TO_FUNCTION_NAME_MAPPING[path]
12
13
  raise_service_error("Function name not found for path: #{path}") if function_name.blank?
13
14
 
@@ -46,11 +46,8 @@ module WolfCore
46
46
  end
47
47
 
48
48
  def encode_file_to_base64_from_url(url)
49
- uri = URI.parse(url)
50
- response = Net::HTTP.get_response(uri)
51
- raise_service_error({ message: 'Failed to download file', url: url }) unless response.is_a?(Net::HTTPSuccess)
52
-
53
- encoded_file = Base64.strict_encode64(response.body)
49
+ bytes = bytes_from_url(url)
50
+ encoded_file = Base64.strict_encode64(bytes)
54
51
 
55
52
  content_disposition = response['content-disposition']
56
53
 
@@ -69,5 +66,12 @@ module WolfCore
69
66
  url: url,
70
67
  })
71
68
  end
69
+
70
+ def bytes_from_url(url)
71
+ uri = URI.parse(url)
72
+ response = Net::HTTP.get_response(uri)
73
+ raise_service_error({ message: 'Failed to download file', url: url }) unless response.is_a?(Net::HTTPSuccess)
74
+ response.body
75
+ end
72
76
  end
73
77
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "1.0.4"
4
+ VERSION = "1.0.6"
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: 1.0.4
4
+ version: 1.0.6
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-16 00:00:00.000000000 Z
11
+ date: 2024-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty