manifest.rb 483 B

123456789101112131415161718192021222324252627
  1. require 'yajl/json_gem'
  2. module Docs
  3. class Manifest
  4. FILENAME = 'docs.json'
  5. def initialize(store, docs)
  6. @store = store
  7. @docs = docs
  8. end
  9. def store
  10. @store.write FILENAME, to_json
  11. end
  12. def as_json
  13. @docs.each_with_object [] do |doc, result|
  14. next unless @store.exist?(doc.meta_path)
  15. result << JSON.parse(@store.read(doc.meta_path))
  16. end
  17. end
  18. def to_json
  19. JSON.pretty_generate(as_json)
  20. end
  21. end
  22. end