Class: ODF::Document
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Container
Class Method Details
.file(ods_file_name, &contents) ⇒ Object
30 31 32 33 |
# File 'lib/odf/document.rb', line 30 def self.file(ods_file_name, &contents) (doc = new).instance_eval(&contents) doc.write_to ods_file_name end |
Instance Method Details
#bytes ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/odf/document.rb', line 39 def bytes buffer = Zip::OutputStream::write_buffer do |zio| zio.put_next_entry('META-INF/manifest.xml') zio << self.class.skeleton.manifest(self.class.doc_type) zio.put_next_entry('styles.xml') zio << self.class.skeleton.styles zio << self.office_styles_xml unless self.office_styles.empty? zio << "</office:styles> </office:document-styles>" zio.put_next_entry('content.xml') zio << self.xml end buffer.set_encoding('ASCII-8BIT') buffer.rewind buffer.sysread end |
#write_to(ods_file_name) ⇒ Object
35 36 37 |
# File 'lib/odf/document.rb', line 35 def write_to(ods_file_name) File.open(ods_file_name, 'wb') { |f| f << self.bytes } end |