require 'yajl/json_gem' module Docs class Manifest FILENAME = 'docs.json' def initialize(store, docs) @store = store @docs = docs end def store @store.write FILENAME, to_json end def as_json @docs.each_with_object [] do |doc, result| next unless @store.exist?(doc.meta_path) json = JSON.parse(@store.read(doc.meta_path)) if doc.options[:attribution].is_a?(String) json[:attribution] = doc.options[:attribution].strip end result << json end end def to_json JSON.pretty_generate(as_json) end end end