History

Make docs mtime the greatest of the index and db files' mtime

Thibaut committed 11 years ago

Commit bc5488f1 parent ca7ff602 files · +13 −5Browse files

Unified · Split

2 files
  1. lib/docs/core/manifest.rb +5 −1
  2. test/lib/docs/core/manifest_test.rb +8 −4
lib/docs/core/manifest.rb+5−1
@@ -15,7 +15,7 @@ module Docs · 14 unmodified lines
1515
1616 def as_json
1717 indexed_docs.map(&:as_json).each do |json|
18− json[:mtime] = @store.mtime(json[:index_path]).to_i
18+ json[:mtime] = doc_mtime(json)
1919 end
2020 end
2121
@@ -30,5 +30,9 @@ module Docs · 8 unmodified lines
3030 @store.exist?(doc.index_path) && @store.exist?(doc.db_path)
3131 end
3232 end
33+
34+ def doc_mtime(doc)
35+ [@store.mtime(doc[:index_path]).to_i, @store.mtime(doc[:db_path]).to_i].max
36+ end
3337 end
3438 end
test/lib/docs/core/manifest_test.rb+8−4
@@ -69,10 +69,14 @@ class ManifestTest < MiniTest::Spec · 68 unmodified lines
6969 assert_empty doc.as_json.keys - json.first.keys
7070 end
7171
72− it "adds an :mtime attribute" do
73− mtime = Time.now - 1
74− stub(store).mtime(index_path) { mtime }
75− assert_equal mtime.to_i, manifest.as_json.first[:mtime]
72+ it "adds an :mtime attribute with the greatest of the index and db files' mtime" do
73+ mtime_index = Time.now - 1
74+ mtime_db = Time.now - 2
75+ stub(store).mtime(index_path) { mtime_index }
76+ stub(store).mtime(db_path) { mtime_db }
77+ assert_equal mtime_index.to_i, manifest.as_json.first[:mtime]
78+ mtime_index, mtime_db = mtime_db, mtime_index
79+ assert_equal mtime_db.to_i, manifest.as_json.first[:mtime]
7680 end
7781 end
7882