diff --git a/lib/bundler_api/cache.rb b/lib/bundler_api/cache.rb index ccca08a..d09d0b7 100644 --- a/lib/bundler_api/cache.rb +++ b/lib/bundler_api/cache.rb @@ -31,18 +31,31 @@ def initialize(memcached: nil, cdn: nil) end def purge_specs - cdn_client.purge_key 'dependencies' - cdn_client.purge_path '/latest_specs.4.8.gz' - cdn_client.purge_path '/specs.4.8.gz' - cdn_client.purge_path '/prerelease_specs.4.8.gz' - puts "Purging dependencies /latest_specs.4.8.gz /specs.4.8.gz /prerelease_specs.4.8.gz" + keys = %w(dependencies) + paths = %w( + /latest_specs.4.8.gz + /specs.4.8.gz + /prerelease_specs.4.8.gz + /versions + /names + ) + puts "Purging #{(keys + paths) * ', '}" + keys.each {|k| cdn_client.purge_key(k) } + paths.each {|k| cdn_client.purge_path(k) } end def purge_gem(name) - cdn_client.purge_path "/quick/Marshal.4.8/#{name}.gemspec.rz" - cdn_client.purge_path "/gems/#{name}.gem" + keys = %w() + paths = %W( + /quick/Marshal.4.8/#{name}.gemspec.rz + /gems/#{name}.gem + /info/#{name} + ) + puts "Purging #{(keys + paths) * ', '}" + keys.each {|k| cdn_client.purge_key(k) } + paths.each {|k| cdn_client.purge_path(k) } + purge_memory_cache(name) - puts "Purging /quick/Marshal.4.8/#{name}.gemspec.rz /gems/#{name}.gem" end def purge_memory_cache(name) diff --git a/lib/bundler_api/web.rb b/lib/bundler_api/web.rb index 7e58975..050fd59 100644 --- a/lib/bundler_api/web.rb +++ b/lib/bundler_api/web.rb @@ -133,7 +133,7 @@ def json_payload(payload) job.run @cache.purge_specs - @cache.purge_memory_cache(payload.name) + @cache.purge_gem(payload.name) json_payload(payload) end