aws-dev-utils 1.4.8 → 1.4.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-dev-utils/cache_wrapper.rb +12 -7
- data/lib/aws-dev-utils/client_wrapper.rb +2 -1
- data/lib/aws-dev-utils/version.rb +1 -1
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4687e761d49ec6e0b5c4c49e8a0eb2bbca0505940b309c5b62eb2b82413645d6
|
4
|
+
data.tar.gz: 6916a3900eba9cef3409f86a0ec7eb0984eb0b631c18a1b18f617ad49070c6f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 472cbb329917024f484fc736d7226b5e4e6207ec3d9223e4df1d9c5a619a882f7dfcbc612a26e87a689ad3b781a75bfb36bc47410bf88a84b4381be9317a0a7d
|
7
|
+
data.tar.gz: d2403e51af30fb2c4205305fbe8c258b03bbcb1cd080ffa726f20ffa6006ac9b0ff731af0f3a991f0cf8c5da93f3d95c5e9c402db25051d4a7e075f240edc4d5
|
@@ -4,12 +4,13 @@ module AwsDevUtils
|
|
4
4
|
class CacheWrapper
|
5
5
|
include AwsDevUtils::Utils
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
# Initialize a new CacheWrapper, internal use only.
|
8
|
+
# @param client [Aws client, NextTokenWrapper, RetryWrapper]
|
9
|
+
# @param exp [Integer] - the key-value timeout
|
10
|
+
def initialize client, exp=60, client_name: nil
|
11
11
|
@client = client
|
12
12
|
@exp = exp
|
13
|
+
@client_name = client_name || client.class.name
|
13
14
|
end
|
14
15
|
|
15
16
|
def method_missing m, *args, &block
|
@@ -18,9 +19,13 @@ module AwsDevUtils
|
|
18
19
|
|
19
20
|
private
|
20
21
|
|
21
|
-
def
|
22
|
-
|
23
|
-
|
22
|
+
def cache_key m, params
|
23
|
+
[@client_name, m, params.deep_sort, @exp]
|
24
|
+
end
|
25
|
+
|
26
|
+
def do_call m, params
|
27
|
+
Cache.instance.fetch(cache_key(m, params), @exp) {
|
28
|
+
nested_hash(@client.send(m, params))
|
24
29
|
}
|
25
30
|
end
|
26
31
|
|
@@ -29,9 +29,10 @@ module AwsDevUtils
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def method_missing m, *args, &block
|
32
|
+
client_name = @client.class.name
|
32
33
|
@client = RetryWrapper.new(@client, @options[:retry]) if retry?
|
33
34
|
@client = NextTokenWrapper.new(@client, @options[:next_token]) if next_token?
|
34
|
-
@client = CacheWrapper.new(@client, @options[:cache]) if cache?
|
35
|
+
@client = CacheWrapper.new(@client, @options[:cache], client_name: client_name) if cache?
|
35
36
|
|
36
37
|
nested_struct(@client.send(m, *args, &block))
|
37
38
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-dev-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
autorequire:
|
7
|
+
- Amobee BI Infrastructure
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -62,7 +62,7 @@ homepage: https://github.com/kontera-technologies/aws-dev-utils
|
|
62
62
|
licenses:
|
63
63
|
- MIT
|
64
64
|
metadata: {}
|
65
|
-
post_install_message:
|
65
|
+
post_install_message:
|
66
66
|
rdoc_options: []
|
67
67
|
require_paths:
|
68
68
|
- lib
|
@@ -77,9 +77,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: '0'
|
79
79
|
requirements: []
|
80
|
-
|
81
|
-
|
82
|
-
signing_key:
|
80
|
+
rubygems_version: 3.0.8
|
81
|
+
signing_key:
|
83
82
|
specification_version: 4
|
84
83
|
summary: Ruby library gem that provides common AWS utilities
|
85
84
|
test_files: []
|