wolf_core 0.1.37 → 0.1.39

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a902cc5c063c18f63a08b2056e43506a47cb64f8593680e786f7e88e664a1a7
4
- data.tar.gz: 6e7c034d355b2cafb512eb26dd836d0edf365e9479752bb8493eafb8f439f960
3
+ metadata.gz: d9993d2825db93d9add472070658ec947f669beb9d4b77c8154edc580773cfb7
4
+ data.tar.gz: 480dec8d1418deef7d29043f8cf92127942f76746310f74d98d968756bf9c60d
5
5
  SHA512:
6
- metadata.gz: bee8f1c703ee073991cc6e76fc0c6adad7bf29741a5e5f03a3bfd746406411f610f96b41babfaa225c0d8f79142c242537c21261a09d945e23f40cc2572693a1
7
- data.tar.gz: 82655a99afa618aace195acf08636ecfdd80050cc0763a0bf67771636dbed3c44377554d367753e8f7dc4c645fe6045da95c70eb51f214c95b38a3f4f1caea60
6
+ metadata.gz: 98431290eb6036ae6e110512166dc7686e135cda326773165847e9e38cbcf27aa64ff2793359b64a16d277172f94ce1cff403b372ec3def52db3bd673063d9d0
7
+ data.tar.gz: e246d96a114bf130c7d28db02b27a021af4b173d01f4a12bdd5efbb185f64b1f567b64a6e1c9ab45a4923d878fe670dfdea95fed4d43fbfe6b49600b073379c8
@@ -20,11 +20,12 @@ module WolfCore
20
20
  @@client
21
21
  end
22
22
 
23
- def invoke(function_name:, payload:)
23
+ def invoke(function_name:, payload:, invocation_type: nil)
24
24
  parsed_payload = JSON.generate(payload)
25
+ invocation_type ||= 'Event'
25
26
  @@client.invoke({
26
27
  function_name: function_name,
27
- invocation_type: 'Event',
28
+ invocation_type: invocation_type,
28
29
  log_type: 'Tail',
29
30
  payload: parsed_payload
30
31
  })
@@ -1,7 +1,29 @@
1
1
  module WolfCore
2
2
  module LambdaFunctionOperations
3
- def invoke_lambda(function_name:, payload:)
4
- WolfCore::LambdaFunctionDataSource.invoke(function_name: function_name, payload: payload)
3
+ include WolfCore::ExceptionOperations
4
+
5
+ def invoke_lambda(function_name:, payload:, invocation_type: nil)
6
+ WolfCore::LambdaFunctionDataSource.invoke(
7
+ function_name: function_name, payload: payload, invocation_type: invocation_type
8
+ )
9
+ end
10
+
11
+ def validate_lambda_response(response:, message:, error_data: nil)
12
+ unless response.status_code == 200
13
+ error_data = {
14
+ message: message,
15
+ response: parse_lambda_response(response)
16
+ }.merge(error_data || {})
17
+ raise_service_error(error_data)
18
+ end
19
+ end
20
+
21
+ def parse_lambda_response(response)
22
+ payload = JSON.parse(response.payload.string) rescue response.payload
23
+ OpenStruct.new({
24
+ status_code: response.status_code,
25
+ payload: payload,
26
+ })
5
27
  end
6
28
 
7
29
  def get_event_params(event)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "0.1.37"
4
+ VERSION = "0.1.39"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wolf_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.37
4
+ version: 0.1.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Roncallo