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)


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

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.



15
16
17
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 15

def worksheet
  @worksheet
end

Instance Method Details

#add_comment(options = {}) ⇒ Object

Adds a comment

Parameters:

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

See Also:



26
27
28
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 26

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

#commentsComments

The comments for this worksheet.

Returns:



19
20
21
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 19

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:



47
48
49
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 47

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)


40
41
42
# File 'lib/axlsx/workbook/worksheet/worksheet_comments.rb', line 40

def has_comments? # rubocop:disable Naming/PredicateName
  !comments.empty?
end

#relationshipsRelationships

The relationships defined by this objects comments collection

Returns:



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

def relationships
  return [] unless has_comments?

  comments.relationships
end

#to_xml_string(str = +'')) ⇒ String

Seraalize the object

Parameters:

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

Returns:

  • (String)


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

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

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