cache_service 1.0.5 → 1.1.0

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: e78d420b9c961110879ed19d7c3d791ad77cf163
4
- data.tar.gz: a34d1ae2723f1570628880257713b18d494237e2
3
+ metadata.gz: 1c9097d06614057304b120b95d5efa88c8a845c6
4
+ data.tar.gz: 30cb2b16f362987a33a2af75644302b483ec7e51
5
5
  SHA512:
6
- metadata.gz: 91301194cba309e16720a8eff10169c8aab7431514f1158d678c13cefb96dddc3d8a0ced79364ddaf1d09c17a61392f1f5857a84ef1103ce9033faab4899e41e
7
- data.tar.gz: 6e867386a15adfa8a5a71c13d342d757da0bf56ac5bc188554ca98e3e611bde84904962b44e026b8ca3c7b4433b25123f60ec40977d2453782b6b8660b8a5d6b
6
+ metadata.gz: ec6951fd7b2d7e43ec3cb5f4d8f893d7ad1dd9588455f76df917655a514ccfddf57d3feb2865a1ca9b577a7063e95171591792e39d597e982ab3078242b7896d
7
+ data.tar.gz: 4084e118d7aa113b7ae5348c7d4ba491476d44ba274a3490e2f538d54b479c708754a65599bcb8be1e22fca5d2a7a2849ef2640cc58cfe27a0bdf7da12fcdf9c
@@ -1,20 +1,23 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'cache_service'
3
- s.version = '1.0.5'
3
+ s.version = '1.1.0'
4
4
  s.summary = "A gem for cache facility"
5
5
  s.description = "A gem for cache facility"
6
6
  s.authors = ['Linh Chau']
7
7
  s.email = 'chauhonglinh@gmail.com'
8
8
  s.files = [
9
9
  './cache_service.gemspec', 'lib/cache_service.rb',
10
- 'lib/services/config_service.rb', 'lib/services/cache_service.rb', 'lib/services/sdk_logger.rb',
11
- 'lib/caches/mc_cache.rb', 'lib/caches/zk_cache.rb'
10
+ 'lib/services/cache_service.rb', 'lib/services/sdk_logger.rb',
11
+ 'lib/caches/mc_cache.rb', 'lib/caches/zk_cache.rb', 'lib/caches/rd_cache.rb'
12
12
  ]
13
13
  s.homepage = 'https://github.com/linhchauatl/cache_service'
14
14
  s.license = 'MIT'
15
15
  s.add_runtime_dependency 'logging', '~> 0'
16
16
  s.add_runtime_dependency 'activesupport'
17
- s.add_runtime_dependency 'dalli', '~> 0'
17
+ s.add_runtime_dependency 'config_service'
18
+ s.add_runtime_dependency 'redis'
19
+ s.add_runtime_dependency 'zookeeper'
20
+ s.add_runtime_dependency 'dalli', '~> 0'
18
21
 
19
22
  s.add_development_dependency 'rspec', '~> 3.1'
20
- end
23
+ end
data/lib/cache_service.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'yaml'
2
- require_relative 'services/config_service'
2
+ require 'config_service'
3
3
 
4
4
  def load_gem_lib(sub_path)
5
5
  spec = Gem::Specification.find_by_name('cache_service')
@@ -12,5 +12,5 @@ end
12
12
  ['caches', 'services'].each do |sub_path|
13
13
  load_gem_lib(sub_path)
14
14
  rb_files = Dir.glob("#{File.expand_path('.')}/lib/#{sub_path}/*.rb")
15
- rb_files.each { |rb_file| require rb_file }
16
- end
15
+ rb_files.each { |rb_file| require rb_file }
16
+ end
@@ -10,7 +10,7 @@ class McCache
10
10
 
11
11
  def initialize
12
12
  @@config ||= ConfigService.load_config('memcached.yml')[ConfigService.environment]
13
- @@client ||= Dalli::Client.new(@@config['host'], @@config)
13
+ @@client ||= Dalli::Client.new(@@config['host'], { namespace: @@config.namespace, compress: @@config.compress})
14
14
  cache_exists?
15
15
  rescue Exception => error
16
16
  puts("McCache.initialize error: #{error.message}")
@@ -50,4 +50,4 @@ class McCache
50
50
  end #class methods
51
51
 
52
52
  initialize
53
- end
53
+ end
@@ -0,0 +1,51 @@
1
+ require 'redis'
2
+ require 'net/http'
3
+ require 'net/https'
4
+
5
+ class RdCache
6
+ class << self
7
+ def client
8
+ @@client
9
+ end
10
+
11
+ def initialize
12
+ @@config ||= ConfigService.load_config('redis.yml')[ConfigService.environment]
13
+ @@client ||= Redis.new(url: "redis://#{@@config['host']}")
14
+ cache_exists?
15
+ rescue Exception => error
16
+ puts("RdCache.initialize error: #{error.message}")
17
+ @@client = nil
18
+ end #initialize
19
+
20
+ def cache_exists?
21
+ Net::HTTP.get(URI("http://#{@@config['host']}"))
22
+ rescue Errno::ECONNREFUSED => error
23
+ puts "**** Error: #{error.message}"
24
+ @@client = nil
25
+ rescue Net::HTTPBadResponse => error
26
+ # do nothing
27
+ end
28
+
29
+ # Cache API, mimics ActiveSupport::Cache::Store
30
+ # http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html
31
+ def read(key, options = {})
32
+ return unless client
33
+ client.get(key)
34
+ end
35
+
36
+ def write(key, value, options = {})
37
+ return unless client
38
+ client.set(key, value)
39
+ client.expire(key, options[:expires_in]) if options[:expires_in]
40
+ end
41
+
42
+ def delete(key, options = {})
43
+ return unless client
44
+ deleted = read(key)
45
+ client.del(key)
46
+ deleted
47
+ end
48
+ end #class methods
49
+
50
+ initialize
51
+ end
@@ -1,4 +1,3 @@
1
- require_relative './config_service'
2
1
  require_relative './sdk_logger'
3
2
 
4
3
  class CacheService
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cache_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linh Chau
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-02 00:00:00.000000000 Z
11
+ date: 2017-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logging
@@ -38,6 +38,48 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: config_service
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'
55
+ - !ruby/object:Gem::Dependency
56
+ name: redis
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: zookeeper
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: dalli
43
85
  requirement: !ruby/object:Gem::Requirement
@@ -75,9 +117,9 @@ files:
75
117
  - "./cache_service.gemspec"
76
118
  - lib/cache_service.rb
77
119
  - lib/caches/mc_cache.rb
120
+ - lib/caches/rd_cache.rb
78
121
  - lib/caches/zk_cache.rb
79
122
  - lib/services/cache_service.rb
80
- - lib/services/config_service.rb
81
123
  - lib/services/sdk_logger.rb
82
124
  homepage: https://github.com/linhchauatl/cache_service
83
125
  licenses:
@@ -99,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
141
  version: '0'
100
142
  requirements: []
101
143
  rubyforge_project:
102
- rubygems_version: 2.4.5
144
+ rubygems_version: 2.6.8
103
145
  signing_key:
104
146
  specification_version: 4
105
147
  summary: A gem for cache facility
@@ -1,30 +0,0 @@
1
- require 'active_support'
2
- require 'active_support/core_ext'
3
-
4
- class ConfigService
5
- class << self
6
- def load_config(config_file_name)
7
- app_root = (defined? APP_ROOT)? APP_ROOT : File.expand_path('.')
8
-
9
- config_file = nil
10
- ['conf', 'config'].each do |sub_path|
11
- if File.exist?("#{app_root}/#{sub_path}/#{config_file_name}")
12
- config_file = "#{app_root}/#{sub_path}/#{config_file_name}"
13
- break
14
- end
15
- end
16
-
17
- raise("NON-Fatal: #{config_file_name} file not found. Ignoring cache type.") unless config_file
18
-
19
- YAML.load_file(config_file)
20
- end
21
-
22
- def environment
23
- return Rails.env if defined? Rails
24
- return ENV['RACK_ENV'] if ENV['RACK_ENV'].present?
25
- 'local'
26
- rescue => error
27
- 'local'
28
- end
29
- end # class methods
30
- end