iglu-ruby-client 0.2.0.beta.2 → 0.2.0.beta.3

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
  SHA256:
3
- metadata.gz: da51b71a2c43743d65d3ae8e8a757f7b6e30c95427260a61c67b759b56cd5c5a
4
- data.tar.gz: 5947d3b179e7ecb3077075c580fb5081654e7f3e335b8d5fb581e113489de455
3
+ metadata.gz: 639804d0a0d0e3000ebdf016eb18cfe82de1a5bd4fccf14e6c4fadf427fff099
4
+ data.tar.gz: 693980d18aebd691e106cf1140a01a906fbf467d69ae34196a2cc74e878713da
5
5
  SHA512:
6
- metadata.gz: 02afe73fd5dd697f5b036e6ae83273855db7bb5fcccb308428cd4a9663da55609d475c926f7b1b1776ed9a02e90f98c4f1134fb74da73470f381d51b9acafce5
7
- data.tar.gz: 7a3035dd22a5143b782f3ff0c49a01e8cbf07c2001e50cb46c169d4ef1a5b975771ede85499a624e601ea8447a980fb95854eacf54957ee494c929afa38230d6
6
+ metadata.gz: 39996ef92d933d8b9d47e21df020af4287edc519ab7c5f9546cfea38bb304c94f076760d284b9993e6d2aaa72da35faa7a40d90b12f3fb5436f1c471c304f27e
7
+ data.tar.gz: d8721692049d4780e3d1331003c885e45495cf0dc298bee52160ec785d91042005429d74107d6447e5c5c57301c4a9296f487b42c5076d6f89799418ad7cd9a4
@@ -16,12 +16,12 @@ module Iglu
16
16
 
17
17
  # Iglu Client. Able to fetch schemas only from Iglu Central
18
18
  class Resolver
19
- attr_reader :registries, :cache, :cache_ttl
19
+ attr_reader :registries, :cache, :cacheTtl
20
20
 
21
- def initialize(registries)
21
+ def initialize(registries, cacheTtl=60)
22
22
  @registries = registries.unshift(Registries.bootstrap)
23
23
  @cache = Hash.new
24
- @cache_ttl = 1 # hour
24
+ @cacheTtl = cacheTtl.nil? ? 60 : cacheTtl
25
25
  end
26
26
 
27
27
  # Lookup schema in cache or try to fetch
@@ -61,10 +61,12 @@ module Iglu
61
61
  raise cache_result
62
62
  else
63
63
  if cache_result.is_a? (Array)
64
- if (cache_result[1] - fetch_time).round / 3600 >= @cache_ttl
65
- @cache.delete(schema_key)
66
- end
67
- cache_result[0]
64
+ store_time = cache_result[1]
65
+ time_diff = (fetch_time - store_time).round
66
+ if time_diff >= @cacheTtl
67
+ @cache.delete(schema_key)
68
+ end
69
+ cache_result[0]
68
70
  else # backward compliance
69
71
  cache_result
70
72
  end
@@ -77,9 +79,9 @@ module Iglu
77
79
  schema = Registries.bootstrap.lookup_schema(schema_key)
78
80
  data = get_data(json)
79
81
  if JSON::Validator.validate!(schema, data)
80
- # cache_size = data[:cacheSize]
81
82
  registries = data[:repositories].map do |registry| parse_registry(registry) end
82
- Resolver.new(registries)
83
+ cacheTtl = json[:data][:cacheTtl]
84
+ Resolver.new(registries, cacheTtl)
83
85
  else
84
86
  throw IgluError.new "Invalid resolver configuration"
85
87
  end
@@ -10,5 +10,5 @@
10
10
  # See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
11
11
 
12
12
  module Iglu
13
- CLIENT_VERSION = '0.2.0.beta.2'
13
+ CLIENT_VERSION = '0.2.0.beta.3'
14
14
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iglu-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.beta.2
4
+ version: 0.2.0.beta.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Parkhomenko