Skip to content

Commit 803eb42

Browse files
committed
Include version as a part of the asset digest
Updates the file digest to take into account the configured version which allows tasks like invalidating all assets possible again. Backports rails#404 to 3.x
1 parent 10dada6 commit 803eb42

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

lib/sprockets/loader.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def load_from_unloaded(unloaded)
145145
source = result.delete(:data)
146146
metadata = result
147147
metadata[:charset] = source.encoding.name.downcase unless metadata.key?(:charset)
148-
metadata[:digest] = digest(source)
148+
metadata[:digest] = digest(self.version + source)
149149
metadata[:length] = source.bytesize
150150
else
151151
dependencies << build_file_digest_uri(unloaded.filename)

test/test_environment.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,10 +721,10 @@ def setup
721721
assert_equal 2, asset.metadata[:selector_count]
722722
end
723723

724-
test "changing version doesn't affect the assets digest" do
724+
test "changing version changes the digest of the asset" do
725725
old_asset_digest = @env["gallery.js"].hexdigest
726726
@env.version = 'v2'
727-
assert old_asset_digest == @env["gallery.js"].hexdigest
727+
assert old_asset_digest != @env["gallery.js"].hexdigest
728728
end
729729

730730
test "bundled asset is stale if its mtime is updated or deleted" do

0 commit comments

Comments
 (0)