wolf_core 0.1.16 → 0.1.18

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: c7a65bdc79f3a3c023d9488e10ebdb6ca8207a53d44af59217b56449d930e026
4
- data.tar.gz: 580acd4c9c3f77ed552ce8f3a6656b24ab37f296de40bb09ff719c02e2f41927
3
+ metadata.gz: 403b10401cf9e77b725c3cadcd758fe0797d35ec084675b63b59dff05fdc5f04
4
+ data.tar.gz: 592c264df6aceffadb8993970fbc3a6077b1d283f5707f24d8a31e9c916ab79a
5
5
  SHA512:
6
- metadata.gz: 441712c8ede3e1900eb7868da5f36742cf4453ad44c6a7a2e081e0af5fd91ac2d2b4206cc3091798c01e7738cf956608b01c8df7df0b4f43f893c7196c7eb4f4
7
- data.tar.gz: 795fb269305da0d0bea89313c815c3adf37e7c44a47be628f4ce2a27005d801796e8b3a3eb7c0e6a4f454080ed42a5594982ea8187addc733f6d788e6b1af43a
6
+ metadata.gz: 9f75af934fd1838ffe3cceced35be204c940a4bffa1dc78d5b1022ea69f3ad569d0c97d0fb872b24b721b7b2ec4328c5975b8fe115b7b5ba6d00d17c3c678bc5
7
+ data.tar.gz: 437135b84e51fe271bbffda54f1fb9520b0afade25c09f5d782fb2fad86f5774e66ae42ebac6c31dac3cad34e38955d5b72d170e7b02bd6ffa5e902823a2467d
@@ -0,0 +1,38 @@
1
+ module WolfCore
2
+ module LambdaFunctionDataSource
3
+ module_function
4
+
5
+ def init
6
+ endpoint = ENV.fetch('AWS_LAMBDA_FUNCTION_ENDPOINT', nil)
7
+ client_config = {
8
+ access_key_id: ENV.fetch('AWS_KEY_ID', nil),
9
+ secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY', nil),
10
+ }
11
+
12
+ if endpoint.present?
13
+ client_config[:endpoint] = endpoint
14
+ else
15
+ client_config[:region] = ENV.fetch('AWS_REGION', nil)
16
+ end
17
+
18
+ client_config = client_config.compact
19
+ return if client_config.empty?
20
+
21
+ @@client = Aws::Lambda::Client.new(client_config)
22
+ end
23
+
24
+ def client
25
+ @@client
26
+ end
27
+
28
+ def invoke(function_name:, payload:)
29
+ parsed_payload = JSON.generate(payload)
30
+ @@client.invoke({
31
+ function_name: function_name,
32
+ invocation_type: 'Event',
33
+ log_type: 'Tail',
34
+ payload: parsed_payload
35
+ })
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,7 @@
1
+ module WolfCore
2
+ module LambdaFunctionOperations
3
+ def invoke_lambda(function_name:, payload:)
4
+ WolfCore::LambdaFunctionDataSource.invoke(function_name: function_name, payload: payload)
5
+ end
6
+ end
7
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WolfCore
4
- VERSION = "0.1.16"
4
+ VERSION = "0.1.18"
5
5
  end
data/lib/wolf_core.rb CHANGED
@@ -5,9 +5,11 @@ require 'ostruct'
5
5
  require 'httparty'
6
6
  require 'active_support'
7
7
  require 'active_support/core_ext'
8
+ require 'aws-sdk-lambda'
8
9
 
9
10
  module WolfCore; end
10
11
 
11
12
  require 'wolf_core/utils/file_utils'
12
13
 
13
14
  WolfCore::FileUtils.require_relative_folder(__dir__, 'wolf_core')
15
+ WolfCore::LambdaFunctionDataSource.init
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.1.16
4
+ version: 0.1.18
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-07-15 00:00:00.000000000 Z
11
+ date: 2024-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aws-sdk-lambda
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description: Repository to store shared code among Ruby projects.
42
56
  email:
43
57
  - jroncallo96@gmail.com
@@ -49,11 +63,13 @@ files:
49
63
  - lib/wolf_core/application/application_service.rb
50
64
  - lib/wolf_core/application/barton/mappings.rb
51
65
  - lib/wolf_core/application/exception_operations.rb
52
- - lib/wolf_core/application/fkm_operations.rb
53
- - lib/wolf_core/application/http_operations.rb
54
66
  - lib/wolf_core/application/salesforce_oauth_service.rb
55
67
  - lib/wolf_core/application/service_exception.rb
68
+ - lib/wolf_core/infrastructure/fkm_operations.rb
56
69
  - lib/wolf_core/infrastructure/http_data_source.rb
70
+ - lib/wolf_core/infrastructure/http_operations.rb
71
+ - lib/wolf_core/infrastructure/lambda_function_data_source.rb
72
+ - lib/wolf_core/infrastructure/lambda_function_operations.rb
57
73
  - lib/wolf_core/utils/file_utils.rb
58
74
  - lib/wolf_core/utils/result.rb
59
75
  - lib/wolf_core/version.rb