diff --git a/spec/cache_hash_spec.cr b/spec/cache_hash_spec.cr index 8b2c475..d93acb6 100644 --- a/spec/cache_hash_spec.cr +++ b/spec/cache_hash_spec.cr @@ -167,12 +167,12 @@ describe CacheHash do it "returns a time if the kv pair is not stale" do hash = CacheHash(String).new(Time::Span.new(0, 0, 3)) - t = Time.now + t = Time.utc hash.set "city_1", "Seattle" hash.time("city_1").class.should eq(Time) city_1_time = hash.time("city_1").not_nil! - (city_1_time > t && city_1_time < Time.now).should be_true + (city_1_time > t && city_1_time < Time.utc).should be_true end it "delete the kv pair if it is stale" do diff --git a/src/cache_hash.cr b/src/cache_hash.cr index f8e32fd..c017b28 100644 --- a/src/cache_hash.cr +++ b/src/cache_hash.cr @@ -6,7 +6,7 @@ class CacheHash(V) def get(key : String) if cached_time = @time_hash[key]? - if cached_time > Time.now - @cache_time_span + if cached_time > Time.utc - @cache_time_span @kv_hash[key] else delete key @@ -19,7 +19,7 @@ class CacheHash(V) if val.nil? delete key else - @time_hash[key] = Time.now + @time_hash[key] = Time.utc @kv_hash[key] = val end end @@ -33,7 +33,7 @@ class CacheHash(V) def purge_stale @kv_hash.each_key do |key| if cached_time = @time_hash[key]? - delete key unless cached_time > Time.now - @cache_time_span + delete key unless cached_time > Time.utc - @cache_time_span end end end @@ -51,7 +51,7 @@ class CacheHash(V) def fresh?(key : String) if cached_time = @time_hash[key]? - if cached_time > Time.now - @cache_time_span + if cached_time > Time.utc - @cache_time_span true else delete key @@ -64,7 +64,7 @@ class CacheHash(V) def time(key : String) if cached_time = @time_hash[key]? - if cached_time > Time.now - @cache_time_span + if cached_time > Time.utc - @cache_time_span cached_time else delete key @@ -74,8 +74,8 @@ class CacheHash(V) def refresh(key : String) if cached_time = @time_hash[key]? - if cached_time > Time.now - @cache_time_span - @time_hash[key] = Time.now + if cached_time > Time.utc - @cache_time_span + @time_hash[key] = Time.utc @kv_hash[key] else delete key