Skip to content

Commit

Permalink
deps/v1/ for Rails cache only, versions for fastly only
Browse files Browse the repository at this point in the history
  • Loading branch information
maclover7 committed Oct 8, 2016
1 parent 13ee266 commit 6e51006
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
5 changes: 4 additions & 1 deletion lib/gem_cache_purger.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
class GemCachePurger
def self.call(gem_name)
# We need to purge from Fastly and from Memcached
["deps/v1/#{gem_name}", "info/#{gem_name}", "names"].each do |path|
["info/#{gem_name}", "names"].each do |path|
Rails.cache.delete(path)
Fastly.delay.purge(path)
end

Rails.cache.delete("deps/v1/#{gem_name}")
Fastly.delay.purge("versions")
end
end
3 changes: 2 additions & 1 deletion test/unit/gem_cache_purger_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ class GemCachePurgerTest < ActiveSupport::TestCase

should "expire API memcached" do
assert_received(Rails.cache, :delete) { |cache| cache.with("info/#{@gem_name}") }
assert_received(Rails.cache, :delete) { |cache| cache.with("deps/v1/#{@gem_name}") }
assert_received(Rails.cache, :delete) { |cache| cache.with("names") }
assert_received(Rails.cache, :delete) { |cache| cache.with("deps/v1/#{@gem_name}") }
end

should "purge cdn cache" do
Delayed::Worker.new.work_off
assert_received(Fastly, :purge) { |path| path.with("info/#{@gem_name}") }
assert_received(Fastly, :purge) { |path| path.with("names") }
assert_received(Fastly, :purge) { |path| path.with("versions") }
end
end
end

0 comments on commit 6e51006

Please sign in to comment.