Sha256: ba61285103dc7cd5074e7809ffb59bc78634f96f2aff81bd927e83a9fae611f4

Contents?: true

Size: 976 Bytes

Versions: 6

Compression:

Stored size: 976 Bytes

Contents

module OpenXml
  module Docx
    module Parts
      class Numbering < OpenXml::Part
        include RootNamespaces

        attr_reader :abstractNumbers, :numbers

        use_namespaces :w

        def initialize
          @abstractNumbers = []
          @numbers = []
          @relationships = OpenXml::Parts::Rels.new
        end

        def <<(child)
          if child.is_a?(OpenXml::Docx::Elements::AbstractNumbering)
            abstractNumbers << child
          elsif child.is_a?(OpenXml::Docx::Elements::Numbering)
            numbers << child
          end
        end

        def count
          abstractNums.count
        end

        def to_xml
          build_standalone_xml do |xml|
            xml.numbering(root_namespaces) {
              xml.parent.namespace = :w
              abstractNumbers.each { |num| num.to_xml(xml) }
              numbers.each { |number| number.to_xml(xml) }
            }
          end
        end

      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
openxml-docx-0.11.5 lib/openxml/docx/parts/numbering.rb
openxml-docx-0.11.4 lib/openxml/docx/parts/numbering.rb
openxml-docx-0.11.3 lib/openxml/docx/parts/numbering.rb
openxml-docx-0.11.2 lib/openxml/docx/parts/numbering.rb
openxml-docx-0.11.1 lib/openxml/docx/parts/numbering.rb
openxml-docx-0.11.0 lib/openxml/docx/parts/numbering.rb