istox 0.1.145 → 0.1.146

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: bda2d858a684314b704b60d5ea238bbf5065512908ee0ebc70131c9d83312350
4
- data.tar.gz: af184ab6edc23ee21b5ba2ffe0ca1d73c65844c99fb17c55fd670138d269517c
3
+ metadata.gz: 4accfc13d0656d9504ac06c29fe50e7f9f5d9cb97dc703939805f5ed71d7a0a5
4
+ data.tar.gz: a7ff200588097591dd9bac3f2e038f2c4aac4724c12191d2163a00e34e511d44
5
5
  SHA512:
6
- metadata.gz: 874547de30f6370dfe294d876b8917d382e262aedb3bd247a90067e7ff6fccd74d00de0da711dfaa312bd6968efadcce55e990751680eac67cba475b3a2f9f4a
7
- data.tar.gz: d3916b3273609d1f708880266877f17366fcbcd2f18905d80a709199cdf2c5b51b6937534dec7dbcaceb204cb12e9e4d73aeb133542a98d5d609846718b7f8c1
6
+ metadata.gz: e73247e688595f536682164ce68fdaff0091894f10b2de32a284c385a8dc42d6af5e090b796c0beb92d981ff6f0177748185b74aac7a7d6f4cb07889e3fb55a2
7
+ data.tar.gz: 2117eb0a8e85d4b31ec70277881229ec2f426d0f4aa51dbde8ca41e3e2557c7d219ce9aa60095e1cfded3c54d1045859c8ec09510cd9612764ba1a9561d6cb29
@@ -5,6 +5,8 @@ module Istox
5
5
  class << self
6
6
  #### keys must be an array
7
7
  def cache(data:, key:, fields: nil, field: nil)
8
+ return unless enable?
9
+
8
10
  fields = [] if fields.blank?
9
11
  fields.push(field) if field.present?
10
12
 
@@ -30,6 +32,8 @@ module Istox
30
32
  end
31
33
 
32
34
  def remove(key:, fields: nil, field: nil)
35
+ return unless enable?
36
+
33
37
  fields = [] if fields.blank?
34
38
  fields.push(field) if field.present?
35
39
 
@@ -51,22 +55,26 @@ module Istox
51
55
  def get(key:, field:)
52
56
  raise 'You must provide a callback block if cache doesnt exist' unless block_given?
53
57
 
54
- key = key.to_s
55
- field = field.to_s
58
+ if enable?
59
+ log.debug "Start getting data from cache, key: #{key}, field: #{field}"
56
60
 
57
- result = redis.hget(key, field)
61
+ key = key.to_s
62
+ field = field.to_s
58
63
 
59
- log.debug "Getting data from cache, key: #{key}, field: #{field}, result: #{result.inspect}"
64
+ result = redis.hget(key, field)
60
65
 
61
- if result.present?
62
- begin
63
- return ::Istox::CommonHelper.to_open_struct(JSON.parse(result))
64
- rescue StandardError => e
65
- log.warn('Unable to process result from cache store, is it not a json?')
66
- log.warn(e)
66
+ log.debug "Getting data from cache, key: #{key}, field: #{field}, result: #{result.inspect}"
67
+
68
+ if result.present?
69
+ begin
70
+ return ::Istox::CommonHelper.to_open_struct(JSON.parse(result))
71
+ rescue StandardError => e
72
+ log.warn('Unable to process result from cache store, is it not a json?')
73
+ log.warn(e)
74
+ end
75
+ else
76
+ log.debug 'Fallback to data retrieval block.'
67
77
  end
68
- else
69
- log.debug 'Fallback to data retrieval block.'
70
78
  end
71
79
 
72
80
  yield if block_given?
@@ -82,6 +90,10 @@ module Istox
82
90
  db: 5
83
91
  ))
84
92
  end
93
+
94
+ def enable?
95
+ ENV.fetch('ENABLE_REMOTE_MODEL_CACHING', true).to_s.downcase == 'true'
96
+ end
85
97
  end
86
98
  end
87
99
  end
@@ -1,3 +1,3 @@
1
1
  module Istox
2
- VERSION = '0.1.145'.freeze
2
+ VERSION = '0.1.146'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: istox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.145
4
+ version: 0.1.146
5
5
  platform: ruby
6
6
  authors:
7
7
  - Siong Leng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-16 00:00:00.000000000 Z
11
+ date: 2020-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print