vfr_utils 0.0.4 → 0.0.5
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 +4 -4
- data/lib/vfr_utils/cache.rb +17 -0
- data/lib/vfr_utils/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a642daba436e9da29e586f7a629e183c3b58b6f
|
4
|
+
data.tar.gz: fbb102d07e6a0b14d102534eb21440a20dfb367c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a13f934196d079cc37faa3e95a380bee3ecc659a11ba6e318a5ac6c30cb120f24e7dde5668d51f6be43ad439df54c1281c72f69c5deb41b534d3ee4dcf9310a3
|
7
|
+
data.tar.gz: 3238517329b0d90f63711c6a476ee7e7f8c5bfd8ce0719dbd362dd8f22c21935f23a67399143ef0e9f97e1e1ba720a762af0456bb9c4d696c3a193d97dbab889
|
data/lib/vfr_utils/cache.rb
CHANGED
@@ -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
|
data/lib/vfr_utils/version.rb
CHANGED
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
|
+
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-
|
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:
|