Sha256: 9161b7e949abcde0ca9079dea19361b1db8a504c0a847a8f09140396bbbc8c08

Contents?: true

Size: 1.57 KB

Versions: 9

Compression:

Stored size: 1.57 KB

Contents

require 'rubyXL/objects/ooxml_object'
require 'rubyXL/objects/extensions'

module RubyXL

  # http://www.schemacentral.com/sc/ooxml/e-ssml_comment-1.html
  class Comment < OOXMLObject
    define_child_node(RubyXL::RichText, :node_name => 'text')
    define_child_node(RubyXL::AlternateContent)
    define_attribute(:ref,      :ref, :required => true)
    define_attribute(:authorId, :int, :required => true)
    define_attribute(:guid,     :string)
    define_element_name 'comment'
  end

  # http://www.schemacentral.com/sc/ooxml/e-ssml_authors-1.html
  class CommentList < OOXMLContainerObject
    define_child_node(RubyXL::Comment, :collection => true)
    define_element_name 'commentList'
  end

  # http://www.schemacentral.com/sc/ooxml/e-ssml_authors-1.html
  class Authors < OOXMLContainerObject
    define_child_node(RubyXL::StringNode, :node_name => :author, :collection => true)
    define_element_name 'authors'
  end

  # http://www.schemacentral.com/sc/ooxml/e-ssml_comments.html
  class CommentsFile < OOXMLTopLevelObject
    CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml'
    REL_TYPE     = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments'

    define_child_node(RubyXL::Authors)
    define_child_node(RubyXL::CommentList)
    define_child_node(RubyXL::ExtensionStorageArea)
    define_element_name 'comments'
    set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil)

    attr_accessor :workbook

    def xlsx_path
      ROOT.join('xl', "comments#{file_index}.xml")
    end

  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rubyXL-3.3.21 lib/rubyXL/objects/comments.rb
rubyXL-3.3.20 lib/rubyXL/objects/comments.rb
rubyXL-3.3.19 lib/rubyXL/objects/comments.rb
rubyXL-3.3.18 lib/rubyXL/objects/comments.rb
rubyXL-3.3.17 lib/rubyXL/objects/comments.rb
rubyXL-3.3.16 lib/rubyXL/objects/comments.rb
rubyXL-3.3.15 lib/rubyXL/objects/comments.rb
rubyXL-3.3.14 lib/rubyXL/objects/comments.rb
rubyXL-3.3.13 lib/rubyXL/objects/comments.rb