|
@@ -4,6 +4,8 @@ module Docs
|
|
|
DB_FILENAME = 'db.json'
|
|
DB_FILENAME = 'db.json'
|
|
|
|
|
|
|
|
class << self
|
|
class << self
|
|
|
|
|
+ include Instrumentable
|
|
|
|
|
+
|
|
|
attr_accessor :name, :slug, :type, :version, :abstract, :links
|
|
attr_accessor :name, :slug, :type, :version, :abstract, :links
|
|
|
|
|
|
|
|
def inherited(subclass)
|
|
def inherited(subclass)
|
|
@@ -63,8 +65,8 @@ module Docs
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
if index.present?
|
|
if index.present?
|
|
|
- store.write INDEX_FILENAME, index.to_json
|
|
|
|
|
- store.write DB_FILENAME, pages.to_json
|
|
|
|
|
|
|
+ store_index(store, INDEX_FILENAME, index)
|
|
|
|
|
+ store_index(store, DB_FILENAME, pages)
|
|
|
true
|
|
true
|
|
|
else
|
|
else
|
|
|
false
|
|
false
|
|
@@ -77,6 +79,13 @@ module Docs
|
|
|
def store_page?(page)
|
|
def store_page?(page)
|
|
|
page[:entries].present?
|
|
page[:entries].present?
|
|
|
end
|
|
end
|
|
|
|
|
+
|
|
|
|
|
+ def store_index(store, filename, index)
|
|
|
|
|
+ old_json = store.read(filename) || '{}'
|
|
|
|
|
+ new_json = index.to_json
|
|
|
|
|
+ instrument "#{filename.remove('.json')}.doc", before: old_json, after: new_json
|
|
|
|
|
+ store.write(filename, new_json)
|
|
|
|
|
+ end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
def initialize
|
|
def initialize
|