diff --git a/lib/lol/request.rb b/lib/lol/request.rb index d0d54a8..67f4bba 100644 --- a/lib/lol/request.rb +++ b/lib/lol/request.rb @@ -55,10 +55,7 @@ def perform_request url raise NotFound.new("404 Not Found") if response.respond_to?(:code) && response.not_found? raise InvalidAPIResponse.new(response["status"]["message"]) if response.is_a?(Hash) && response["status"] - if cached? - store.set clean_url(url), response.to_json - store.expire url, ttl - end + store.setex clean_url(url), ttl, response.to_json if cached? response end diff --git a/lib/lol/version.rb b/lib/lol/version.rb index c89b966..dd0bf1d 100644 --- a/lib/lol/version.rb +++ b/lib/lol/version.rb @@ -1,3 +1,3 @@ module Lol - VERSION = "0.9.13" + VERSION = "0.9.14" end diff --git a/spec/lol/request_spec.rb b/spec/lol/request_spec.rb index 4f8daa1..eac8eff 100644 --- a/spec/lol/request_spec.rb +++ b/spec/lol/request_spec.rb @@ -54,6 +54,8 @@ context "caching" do before :all do class FakeRedis < Redis + attr_reader :store + def initialize options = {} @store = {} end @@ -62,11 +64,8 @@ def get key @store[key] end - def set key, val + def setex key, ttl, val @store[key] = val - end - - def expire key, ttl @store["#{key}:ttl"] = ttl end end @@ -82,7 +81,6 @@ def expire key, ttl it "is cached" do expect(request.class).not_to receive(:get) request.perform_request "/foo" - end it "serializes cached responses" do