Use SHA1 instead of MD5 for caching

This commit is contained in:
Alex Zherdev 2019-10-15 13:12:36 -07:00
parent ab47e983f5
commit 5d3f56f0a4
2 changed files with 4 additions and 4 deletions

View File

@ -56,7 +56,7 @@ module ActiveModel
def digest_caller_file(caller_line) def digest_caller_file(caller_line)
serializer_file_path = caller_line[CALLER_FILE] serializer_file_path = caller_line[CALLER_FILE]
serializer_file_contents = IO.read(serializer_file_path) serializer_file_contents = IO.read(serializer_file_path)
Digest::MD5.hexdigest(serializer_file_contents) Digest::SHA1.hexdigest(serializer_file_contents)
rescue TypeError, Errno::ENOENT rescue TypeError, Errno::ENOENT
warn <<-EOF.strip_heredoc warn <<-EOF.strip_heredoc
Cannot digest non-existent file: '#{caller_line}'. Cannot digest non-existent file: '#{caller_line}'.

View File

@ -447,13 +447,13 @@ module ActiveModelSerializers
def test_uses_file_digest_in_cache_key def test_uses_file_digest_in_cache_key
render_object_with_cache(@blog) render_object_with_cache(@blog)
file_digest = Digest::MD5.hexdigest(File.open(__FILE__).read) file_digest = Digest::SHA1.hexdigest(File.open(__FILE__).read)
key = "#{@blog.cache_key}/#{adapter.cache_key}/#{file_digest}" key = "#{@blog.cache_key}/#{adapter.cache_key}/#{file_digest}"
assert_equal(@blog_serializer.attributes, cache_store.fetch(key)) assert_equal(@blog_serializer.attributes, cache_store.fetch(key))
end end
def test_cache_digest_definition def test_cache_digest_definition
file_digest = Digest::MD5.hexdigest(File.open(__FILE__).read) file_digest = Digest::SHA1.hexdigest(File.open(__FILE__).read)
assert_equal(file_digest, @post_serializer.class._cache_digest) assert_equal(file_digest, @post_serializer.class._cache_digest)
end end
@ -560,7 +560,7 @@ module ActiveModelSerializers
path = file.path path = file.path
caller_line = "#{path}:1:in `<top (required)>'" caller_line = "#{path}:1:in `<top (required)>'"
file.close file.close
assert_equal ActiveModel::Serializer.digest_caller_file(caller_line), Digest::MD5.hexdigest(contents) assert_equal ActiveModel::Serializer.digest_caller_file(caller_line), Digest::SHA1.hexdigest(contents)
ensure ensure
file.unlink file.unlink
FileUtils.remove_entry dir FileUtils.remove_entry dir