vfr_utils 0.0.4 → 0.0.5

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
  SHA1:
3
- metadata.gz: 1695abe0e0d89b99b75997de40491f4333e9c4ef
4
- data.tar.gz: ef86c8f2641e2e65c6e976705c5c082483d0dedc
3
+ metadata.gz: 2a642daba436e9da29e586f7a629e183c3b58b6f
4
+ data.tar.gz: fbb102d07e6a0b14d102534eb21440a20dfb367c
5
5
  SHA512:
6
- metadata.gz: b9fac33661f601a965891ce722a13a47bc70563089885c3d66e95d4f62407337884d7f179bc2400b2668c71583c63eb7b5c925dc5e875e6793d9f106f1a300bc
7
- data.tar.gz: 7c3070db10b930084d003d54c37d99c8a44d9a365034d60d2105d0201be819501fa3c9f87b728984d96bc0afc27289346d427d04b890c21fae0142e45d4be6b9
6
+ metadata.gz: a13f934196d079cc37faa3e95a380bee3ecc659a11ba6e318a5ac6c30cb120f24e7dde5668d51f6be43ad439df54c1281c72f69c5deb41b534d3ee4dcf9310a3
7
+ data.tar.gz: 3238517329b0d90f63711c6a476ee7e7f8c5bfd8ce0719dbd362dd8f22c21935f23a67399143ef0e9f97e1e1ba720a762af0456bb9c4d696c3a193d97dbab889
@@ -3,10 +3,12 @@ module VfrUtils
3
3
 
4
4
  def initialize(config)
5
5
  @config = config
6
+ init_redis
6
7
  end
7
8
 
8
9
  def get(k, &blk)
9
10
  return get_files(k, &blk) if config.cache_backend == :files
11
+ return get_redis(k, &blk) if config.cache_backend == :redis
10
12
  raise "Unsupported cache backend: #{config.cache_backend}"
11
13
  end
12
14
 
@@ -16,6 +18,12 @@ module VfrUtils
16
18
  @config
17
19
  end
18
20
 
21
+ def init_redis
22
+ return unless config.cache_backend == :redis
23
+ return unless @redis.nil?
24
+ @redis = Redis.new(url: config.redis_url)
25
+ end
26
+
19
27
  def get_files(k)
20
28
  cache_file_path = "#{config.cache_directory}/#{k}.tmp"
21
29
  if File.exists?(cache_file_path)
@@ -29,5 +37,14 @@ module VfrUtils
29
37
  File.write(cache_file_path, Marshal.dump(v))
30
38
  v
31
39
  end
40
+
41
+ def get_redis(k)
42
+ init_redis
43
+ v = @redis.get(k)
44
+ return Marshal.load(v) unless v.nil?
45
+ v = yield
46
+ @redis.setex(k, config.cache_lifetime, Marshal.dump(v))
47
+ v
48
+ end
32
49
  end
33
50
  end
@@ -1,3 +1,3 @@
1
1
  module VfrUtils
2
- VERSION='0.0.4'
2
+ VERSION='0.0.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vfr_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bartek Wilczek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-28 00:00:00.000000000 Z
11
+ date: 2016-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.9'
41
+ - !ruby/object:Gem::Dependency
42
+ name: redis
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
41
55
  description: This gem provides set of classes and a CLI for obtaining information
42
56
  like NOTAM, METAR and TAF
43
57
  email: