Sha256: fa912d70c0623fa58b348a55dd71033db1d8a83492b8397720fac40f4ca7cefe

Contents?: true

Size: 753 Bytes

Versions: 1

Compression:

Stored size: 753 Bytes

Contents

require 'rubygems'
require 'nokogiri'

module RubyXL
  module Writer
    class GenericWriter

      def initialize(workbook)
        @workbook = workbook
        # +self.class+ makes sure constant is pulled from descendant class, not from this one.
        # self.class::FILEPATH
      end

      def filepath
        raise 'Subclass responsebility'
      end

      def render_xml
        seed_xml = Nokogiri::XML('<?xml version = "1.0" standalone ="yes"?>')
        seed_xml.encoding = 'UTF-8'

        yield(seed_xml)

        seed_xml.to_xml({ :indent => 0, :save_with => Nokogiri::XML::Node::SaveOptions::AS_XML })
      end

      def add_to_zip(zipfile)
        zipfile.get_output_stream(filepath) { |f| f << write }
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubyXL-git-ref-6002046-2.0.0 lib/rubyXL/writer/generic_writer.rb