Browse Source

Add Doc#db_path

Thibaut 11 years ago
parent
commit
ca61a2b746

+ 1 - 1
assets/javascripts/models/doc.coffee

@@ -1,5 +1,5 @@
 class app.models.Doc extends app.Model
-  # Attributes: name, slug, type, version, index_path, mtime
+  # Attributes: name, slug, type, version, index_path, db_path, mtime
 
   constructor: ->
     super

+ 6 - 1
lib/docs/core/doc.rb

@@ -26,12 +26,17 @@ module Docs
         File.join path, INDEX_FILENAME
       end
 
+      def db_path
+        File.join path, DB_FILENAME
+      end
+
       def as_json
         { name: name,
           slug: slug,
           type: type,
           version: version,
-          index_path: index_path }
+          index_path: index_path,
+          db_path: db_path }
       end
 
       def store_page(store, id)

+ 9 - 2
test/lib/docs/core/doc_test.rb

@@ -87,6 +87,13 @@ class DocsDocTest < MiniTest::Spec
     end
   end
 
+  describe ".db_path" do
+    it "returns .path + ::DB_FILENAME" do
+      stub(doc).path { 'path' }
+      assert_equal File.join('path', Docs::Doc::DB_FILENAME), doc.db_path
+    end
+  end
+
   describe ".new" do
     it "raises an error when .abstract is true" do
       doc.abstract = true
@@ -101,8 +108,8 @@ class DocsDocTest < MiniTest::Spec
       assert_instance_of Hash, doc.as_json
     end
 
-    it "includes the doc's name, slug, type, version and index_path" do
-      %w(name slug type version index_path).each do |attribute|
+    it "includes the doc's name, slug, type, version, index_path and db_path" do
+      %w(name slug type version index_path db_path).each do |attribute|
         eval "stub(doc).#{attribute} { attribute }"
         assert_equal attribute, doc.as_json[attribute.to_sym]
       end

+ 5 - 0
test/lib/docs/core/manifest_test.rb

@@ -43,8 +43,13 @@ class ManifestTest < MiniTest::Spec
       'index_path'
     end
 
+    let :db_path do
+      'db_path'
+    end
+
     before do
       stub(doc).index_path { index_path }
+      stub(doc).db_path { db_path }
     end
 
     it "returns an array" do