cache_service 1.0.3 → 1.0.4

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
  SHA1:
3
- metadata.gz: b6cf19e1b4ceb69447f52f2b66276f5fd0219408
4
- data.tar.gz: e33d1b5d9cacc3efae856288bbee20bdb1a29fff
3
+ metadata.gz: a9e9ff2607b9833b46b489bb6ec8f47b8c9c5a8c
4
+ data.tar.gz: bc7a1ff3e9e9615d662c59b41a6ce3a25651cac9
5
5
  SHA512:
6
- metadata.gz: 1b1eda1948c6d1280ab779b3416e85e066f113e1773c2008c61b42c6713bd3bf08aa9f8167b0564a2117b66b71da9d54c4c5112a25ca96f73fef76e84bf95b82
7
- data.tar.gz: f83346f5846edf76e98bc2847b237bba6d1707228d7c2c18c7302d5d096c88ae280d4157dde06123b414e6265fd50e2ff8e39258e46cb886e8bd9243115e9293
6
+ metadata.gz: 33a3fb5754b15b39f678384b08abe1e3329f150d1a99c30fc4f4ede33c45ba468c5eca3928cbba3050964c914f8a21abf966fa7840d83c5e4ca28f083042ae93
7
+ data.tar.gz: 8a1ea1c183f6501d50c4235883a68f68c06a0fa0859230f1a4f948a3419e93cba7be0198108a641037c76eba88ec3048e12e5c430b4c82da19015f43b595a1cc
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'cache_service'
3
- s.version = '1.0.3'
3
+ s.version = '1.0.4'
4
4
  s.summary = "A gem for cache facility"
5
5
  s.description = "A gem for cache facility"
6
6
  s.authors = ['Linh Chau']
data/lib/cache_service.rb CHANGED
@@ -9,14 +9,8 @@ rescue Exception => error
9
9
  # Who cares?
10
10
  end
11
11
 
12
- def proc_dir(dir)
13
- Dir[ File.join(dir, '**', '*') ].reject { |p| File.directory? p }
14
- end
15
-
16
-
17
- proc_dir('.').reject { |p| !p.ends_with?('.rb') }.each do |rb_file|
18
- unless (rb_file == './lib/cache_service.rb' || rb_file.starts_with?('./spec/'))
19
- require rb_file
20
- puts "require #{rb_file}"
21
- end
12
+ ['caches', 'services'].each do |sub_path|
13
+ load_gem_lib(sub_path)
14
+ rb_files = Dir.glob("#{File.expand_path('.')}/lib/#{sub_path}/*.rb")
15
+ rb_files.each { |rb_file| require rb_file }
22
16
  end
@@ -7,24 +7,40 @@ class McCache
7
7
  end
8
8
 
9
9
  def initialize
10
- config = ConfigService.load_config('memcached.yml')[ConfigService.environment]
11
- @@client ||= Dalli::Client.new(config['host'], config)
12
- rescue => error
13
- SdkLogger.logger.error("McCache.initialize error: #{error.message}")
10
+ @@config ||= ConfigService.load_config('memcached.yml')[ConfigService.environment]
11
+ @@client ||= Dalli::Client.new(@@config['host'], @@config)
12
+ cache_exists?
13
+ rescue Exception => error
14
+ puts("McCache.initialize error: #{error.message}")
14
15
  @@client = nil
15
16
  end #initialize
16
17
 
18
+ def cache_exists?
19
+ # @@client.read('test')
20
+ # rescue Exception => error
21
+ # @@client = nil
22
+ Net::HTTP.get(URI("http://#{@@config['host']}"))
23
+ rescue Errno::ECONNREFUSED => error
24
+ puts "**** Error: #{error.message}"
25
+ @@client = nil
26
+ rescue Net::HTTPBadResponse => error
27
+ # do nothing
28
+ end
29
+
17
30
  # Cache API, mimics ActiveSupport::Cache::Store
18
31
  # http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html
19
32
  def read(key, options = {})
33
+ return unless client
20
34
  client.get(key, options)
21
35
  end
22
36
 
23
37
  def write(key, value, options = {})
38
+ return unless client
24
39
  client.set(key, value, options[:expires_in], options)
25
40
  end
26
41
 
27
42
  def delete(key, options = {})
43
+ return unless client
28
44
  deleted = read(key)
29
45
  client.delete(key)
30
46
  deleted
@@ -10,17 +10,31 @@ class ZkCache
10
10
  end
11
11
 
12
12
  def initialize
13
- config = ConfigService.load_config('zookeeper.yml')[ConfigService.environment]
14
- @@client ||= Zookeeper.new(config['host'])
15
- rescue => error
16
- SdkLogger.logger.error("ZkCache.initialize error: #{error.message}")
13
+ @@config ||= ConfigService.load_config('zookeeper.yml')[ConfigService.environment]
14
+ @@client ||= Zookeeper.new(@@config['host'])
15
+ cache_exists?
16
+ rescue Exception => error
17
+ puts("ZkCache.initialize error: #{error.message}")
17
18
  @@client = nil
18
19
  end #initialize
19
20
 
21
+ def cache_exists?
22
+ # @@client.read('test')
23
+ # rescue Exception => error
24
+ # @@client = nil
25
+ Net::HTTP.get(URI("http://#{@@config['host']}"))
26
+ rescue Errno::ECONNREFUSED => error
27
+ puts "**** Error: #{error.message}"
28
+ @@client = nil
29
+ rescue EOFError => error
30
+ # do nothing
31
+ end
20
32
 
21
33
  # Cache API, mimics ActiveSupport::Cache::Store
22
34
  # http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html
23
35
  def read(key, options = {})
36
+ return unless client
37
+
24
38
  key = process_key(key)
25
39
  result = client.get(path: key)[:data]
26
40
  result = decode_data(result)
@@ -37,6 +51,8 @@ class ZkCache
37
51
  end
38
52
 
39
53
  def write(key, value, options = {})
54
+ return unless client
55
+
40
56
  key = process_key(key)
41
57
  init_key(key, nil)
42
58
  written_value = value
@@ -53,6 +69,8 @@ class ZkCache
53
69
  end
54
70
 
55
71
  def delete(key, options = {})
72
+ return unless client
73
+
56
74
  key = process_key(key)
57
75
  deleted = read(key)
58
76
  client.delete(path: key)
@@ -17,22 +17,23 @@ class CacheService
17
17
  Dir.glob("#{File.expand_path('.')}/caches/*.rb").each { |rb_file| require rb_file }
18
18
  @@cache ||= eval(config['cache'])
19
19
  SdkLogger.logger = eval(config['logger']) if config['logger'].present?
20
- rescue => error
20
+ rescue Exception => error
21
+ puts("Error #{error.message}")
21
22
  @@cache = nil
22
23
  end
23
24
 
24
25
  def read(key, options = {})
25
- return nil unless @@cache.client
26
+ return nil unless cache
26
27
  cache.read(key, options)
27
28
  end
28
29
 
29
30
  def write(key, value, options = {})
30
- return nil unless @@cache.client
31
+ return nil unless cache
31
32
  cache.write(key, value, options)
32
33
  end
33
34
 
34
35
  def delete(key, options = {})
35
- return nil unless @@cache.client
36
+ return nil unless cache
36
37
  cache.delete(key, options)
37
38
  end
38
39
  end #class methods
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cache_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linh Chau