istox 0.1.145 → 0.1.146

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: 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