Class: Axlsx::WorksheetComments

Inherits:
Object
  • Object
show all
Defined in:
lib/axlsx/workbook/worksheet/worksheet_comments.rb

Overview

A wraper class for comments that defines its on worksheet serailization

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(worksheet) ⇒ WorksheetComments

Creates a new WorksheetComments object param [Worksheet] worksheet The worksheet comments in thes object belong to

Raises:

  • (ArugumentError)


7
8
9
10
11
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 7

def initialize(worksheet)
  raise ArugumentError, 'You must provide a worksheet' unless worksheet.is_a?(Worksheet)

  @worksheet = worksheet
end

Instance Attribute Details

#worksheetObject (readonly)

Returns the value of attribute worksheet.



13
14
15
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 13

def worksheet
  @worksheet
end

Instance Method Details

#add_comment(options = {}) ⇒ Object

Adds a comment

Parameters:

  • options (Hash) (defaults to: {})

See Also:



24
25
26
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 24

def add_comment(options = {})
  comments.add_comment(options)
end

#commentsComments

The comments for this worksheet.

Returns:



17
18
19
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 17

def comments
  @comments ||= Comments.new(worksheet)
end

#drawing_rIdString

The relationship id of the VML drawing that will render the comments.

Returns:

  • (String)

See Also:



45
46
47
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 45

def drawing_rId
  comments.relationships.find { |r| r.Type == VML_DRAWING_R }.Id
end

#has_comments?Boolean

Helper method to tell us if there are comments in the comments collection

Returns:

  • (Boolean)


38
39
40
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 38

def has_comments?
  !comments.empty?
end

#relationshipsRelationships

The relationships defined by this objects comments collection

Returns:



30
31
32
33
34
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 30

def relationships
  return [] unless has_comments?

  comments.relationships
end

#to_xml_string(str = '') ⇒ String

Seraalize the object

Parameters:

  • str (String) (defaults to: '')

Returns:

  • (String)


52
53
54
55
56
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 52

def to_xml_string(str = '')
  return unless has_comments?

  str << "<legacyDrawing r:id='#{drawing_rId}' />"
end