class RubyXL::WorkbookRoot
def stream
def stream stream = Zip::OutputStream.write_buffer { |zipstream| self.rels_hash = {} self.relationship_container.owner = self collect_related_objects.compact.each { |obj| puts "<-- DEBUG: adding relationship to #{obj.class}" if @@debug obj.root = self if obj.respond_to?(:root=) self.rels_hash[obj.class] ||= [] self.rels_hash[obj.class] << obj } self.rels_hash.keys.sort_by{ |c| c::SAVE_ORDER }.each { |klass| puts "<-- DEBUG: saving related #{klass} files" if @@debug self.rels_hash[klass].select! { |obj| puts "<-- DEBUG: > #{obj.xlsx_path}" if @@debug obj.add_to_zip(zipstream) } } } stream.rewind stream end