summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/axlsx/content_type/abstract_content_type.rb2
-rw-r--r--lib/axlsx/content_type/content_type.rb2
-rw-r--r--lib/axlsx/doc_props/app.rb2
-rw-r--r--lib/axlsx/doc_props/core.rb10
-rw-r--r--lib/axlsx/drawing/area_chart.rb8
-rw-r--r--lib/axlsx/drawing/area_series.rb6
-rw-r--r--lib/axlsx/drawing/axes.rb2
-rw-r--r--lib/axlsx/drawing/axis.rb18
-rw-r--r--lib/axlsx/drawing/bar_3D_chart.rb12
-rw-r--r--lib/axlsx/drawing/bar_chart.rb12
-rw-r--r--lib/axlsx/drawing/bar_series.rb8
-rw-r--r--lib/axlsx/drawing/bubble_chart.rb2
-rw-r--r--lib/axlsx/drawing/bubble_series.rb4
-rw-r--r--lib/axlsx/drawing/cat_axis.rb10
-rw-r--r--lib/axlsx/drawing/chart.rb16
-rw-r--r--lib/axlsx/drawing/drawing.rb2
-rw-r--r--lib/axlsx/drawing/graphic_frame.rb6
-rw-r--r--lib/axlsx/drawing/line_3D_chart.rb2
-rw-r--r--lib/axlsx/drawing/line_chart.rb8
-rw-r--r--lib/axlsx/drawing/line_series.rb6
-rw-r--r--lib/axlsx/drawing/marker.rb2
-rw-r--r--lib/axlsx/drawing/num_data.rb8
-rw-r--r--lib/axlsx/drawing/num_data_source.rb10
-rw-r--r--lib/axlsx/drawing/num_val.rb2
-rw-r--r--lib/axlsx/drawing/one_cell_anchor.rb2
-rw-r--r--lib/axlsx/drawing/pic.rb2
-rw-r--r--lib/axlsx/drawing/pie_3D_chart.rb2
-rw-r--r--lib/axlsx/drawing/pie_series.rb4
-rw-r--r--lib/axlsx/drawing/scaling.rb8
-rw-r--r--lib/axlsx/drawing/scatter_chart.rb4
-rw-r--r--lib/axlsx/drawing/scatter_series.rb10
-rw-r--r--lib/axlsx/drawing/ser_axis.rb4
-rw-r--r--lib/axlsx/drawing/series.rb4
-rw-r--r--lib/axlsx/drawing/series_title.rb4
-rw-r--r--lib/axlsx/drawing/str_data.rb6
-rw-r--r--lib/axlsx/drawing/str_val.rb2
-rw-r--r--lib/axlsx/drawing/title.rb8
-rw-r--r--lib/axlsx/drawing/val_axis.rb2
-rw-r--r--lib/axlsx/rels/relationship.rb2
-rw-r--r--lib/axlsx/rels/relationships.rb2
-rw-r--r--lib/axlsx/stylesheet/border_pr.rb4
-rw-r--r--lib/axlsx/stylesheet/font.rb2
-rw-r--r--lib/axlsx/stylesheet/gradient_stop.rb2
-rw-r--r--lib/axlsx/stylesheet/pattern_fill.rb2
-rw-r--r--lib/axlsx/stylesheet/styles.rb2
-rw-r--r--lib/axlsx/util/simple_typed_list.rb4
-rw-r--r--lib/axlsx/workbook/defined_name.rb4
-rw-r--r--lib/axlsx/workbook/shared_strings_table.rb6
-rw-r--r--lib/axlsx/workbook/workbook.rb6
-rw-r--r--lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/auto_filter/filters.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/cell_serializer.rb16
-rw-r--r--lib/axlsx/workbook/worksheet/col_breaks.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/comment.rb6
-rw-r--r--lib/axlsx/workbook/worksheet/comments.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/conditional_formatting.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/data_validation.rb10
-rw-r--r--lib/axlsx/workbook/worksheet/outline_pr.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/page_set_up_pr.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/pivot_table.rb20
-rw-r--r--lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb8
-rw-r--r--lib/axlsx/workbook/worksheet/rich_text_run.rb6
-rw-r--r--lib/axlsx/workbook/worksheet/row.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/row_breaks.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_calc_pr.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_format_pr.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_pr.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/table.rb10
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb4
70 files changed, 198 insertions, 186 deletions
diff --git a/lib/axlsx/content_type/abstract_content_type.rb b/lib/axlsx/content_type/abstract_content_type.rb
index 58ca8b2c..bca08b7e 100644
--- a/lib/axlsx/content_type/abstract_content_type.rb
+++ b/lib/axlsx/content_type/abstract_content_type.rb
@@ -24,7 +24,7 @@ module Axlsx
# Serialize the contenty type to xml
def to_xml_string(node_name = '', str = +'')
str << "<#{node_name} "
- str << Axlsx.instance_values_for(self).map { |key, value| Axlsx::camel(key) << '="' << value.to_s << '"' }.join(' ')
+ Axlsx.instance_values_for(self).each { |key, value| str << Axlsx::camel(key) << '="' << value.to_s << '" ' }
str << '/>'
end
end
diff --git a/lib/axlsx/content_type/content_type.rb b/lib/axlsx/content_type/content_type.rb
index 15751b17..22763bfb 100644
--- a/lib/axlsx/content_type/content_type.rb
+++ b/lib/axlsx/content_type/content_type.rb
@@ -16,7 +16,7 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<Types xmlns="' << XML_NS_T << '">')
+ str << '<Types xmlns="' << XML_NS_T << '">'
each { |type| type.to_xml_string(str) }
str << '</Types>'
end
diff --git a/lib/axlsx/doc_props/app.rb b/lib/axlsx/doc_props/app.rb
index 3eae1e28..40a8184d 100644
--- a/lib/axlsx/doc_props/app.rb
+++ b/lib/axlsx/doc_props/app.rb
@@ -221,7 +221,7 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<Properties xmlns="' << APP_NS << '" xmlns:vt="' << APP_NS_VT << '">')
+ str << '<Properties xmlns="' << APP_NS << '" xmlns:vt="' << APP_NS_VT << '">'
Axlsx.instance_values_for(self).each do |key, value|
node_name = Axlsx.camel(key)
str << "<#{node_name}>#{value}</#{node_name}>"
diff --git a/lib/axlsx/doc_props/core.rb b/lib/axlsx/doc_props/core.rb
index 8d3292e9..8dbe4cf4 100644
--- a/lib/axlsx/doc_props/core.rb
+++ b/lib/axlsx/doc_props/core.rb
@@ -24,11 +24,11 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<cp:coreProperties xmlns:cp="' << CORE_NS << '" xmlns:dc="' << CORE_NS_DC << '" ')
- str << (+'xmlns:dcmitype="' << CORE_NS_DCMIT << '" xmlns:dcterms="' << CORE_NS_DCT << '" ')
- str << (+'xmlns:xsi="' << CORE_NS_XSI << '">')
- str << (+'<dc:creator>' << self.creator << '</dc:creator>')
- str << (+'<dcterms:created xsi:type="dcterms:W3CDTF">' << (created || Time.now).strftime('%Y-%m-%dT%H:%M:%S') << 'Z</dcterms:created>')
+ str << '<cp:coreProperties xmlns:cp="' << CORE_NS << '" xmlns:dc="' << CORE_NS_DC << '" '
+ str << 'xmlns:dcmitype="' << CORE_NS_DCMIT << '" xmlns:dcterms="' << CORE_NS_DCT << '" '
+ str << 'xmlns:xsi="' << CORE_NS_XSI << '">'
+ str << '<dc:creator>' << self.creator << '</dc:creator>'
+ str << '<dcterms:created xsi:type="dcterms:W3CDTF">' << (created || Time.now).strftime('%Y-%m-%dT%H:%M:%S') << 'Z</dcterms:created>'
str << '<cp:revision>0</cp:revision>'
str << '</cp:coreProperties>'
end
diff --git a/lib/axlsx/drawing/area_chart.rb b/lib/axlsx/drawing/area_chart.rb
index 8339c255..96711cd3 100644
--- a/lib/axlsx/drawing/area_chart.rb
+++ b/lib/axlsx/drawing/area_chart.rb
@@ -76,14 +76,14 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
super(str) do
- str << (+"<c:" << node_name << ">")
- str << (+'<c:grouping val="' << grouping.to_s << '"/>')
- str << (+'<c:varyColors val="' << vary_colors.to_s << '"/>')
+ str << "<c:" << node_name << ">"
+ str << '<c:grouping val="' << grouping.to_s << '"/>'
+ str << '<c:varyColors val="' << vary_colors.to_s << '"/>'
@series.each { |ser| ser.to_xml_string(str) }
@d_lbls.to_xml_string(str) if @d_lbls
yield if block_given?
axes.to_xml_string(str, :ids => true)
- str << (+"</c:" << node_name << ">")
+ str << "</c:" << node_name << ">"
axes.to_xml_string(str)
end
end
diff --git a/lib/axlsx/drawing/area_series.rb b/lib/axlsx/drawing/area_series.rb
index 9d87d078..5cebd7da 100644
--- a/lib/axlsx/drawing/area_series.rb
+++ b/lib/axlsx/drawing/area_series.rb
@@ -75,11 +75,11 @@ module Axlsx
super(str) do
if color
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/>')
+ str << '<a:srgbClr val="' << color << '"/>'
str << '</a:solidFill>'
str << '<a:ln w="28800">'
str << '<a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/>')
+ str << '<a:srgbClr val="' << color << '"/>'
str << '</a:solidFill>'
str << '</a:ln>'
str << '<a:round/>'
@@ -94,7 +94,7 @@ module Axlsx
@labels.to_xml_string(str) unless @labels.nil?
@data.to_xml_string(str) unless @data.nil?
- str << (+'<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>')
+ str << '<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>'
end
end
diff --git a/lib/axlsx/drawing/axes.rb b/lib/axlsx/drawing/axes.rb
index 0baad85f..eb4728c6 100644
--- a/lib/axlsx/drawing/axes.rb
+++ b/lib/axlsx/drawing/axes.rb
@@ -33,7 +33,7 @@ module Axlsx
if options[:ids]
# CatAxis must come first in the XML (for Microsoft Excel at least)
sorted = axes.sort_by { |name, axis| axis.kind_of?(CatAxis) ? 0 : 1 }
- sorted.each { |axis| str << (+'<c:axId val="' << axis[1].id.to_s << '"/>') }
+ sorted.each { |axis| str << '<c:axId val="' << axis[1].id.to_s << '"/>' }
else
axes.each { |axis| axis[1].to_xml_string(str) }
end
diff --git a/lib/axlsx/drawing/axis.rb b/lib/axlsx/drawing/axis.rb
index 38e57da5..10ddce1f 100644
--- a/lib/axlsx/drawing/axis.rb
+++ b/lib/axlsx/drawing/axis.rb
@@ -149,10 +149,10 @@ module Axlsx
# @param [String] str
# @return [String]
def to_xml_string(str = +'')
- str << (+'<c:axId val="' << @id.to_s << '"/>')
+ str << '<c:axId val="' << @id.to_s << '"/>'
@scaling.to_xml_string str
- str << (+'<c:delete val="' << @delete.to_s << '"/>')
- str << (+'<c:axPos val="' << @ax_pos.to_s << '"/>')
+ str << '<c:delete val="' << @delete.to_s << '"/>'
+ str << '<c:axPos val="' << @ax_pos.to_s << '"/>'
str << '<c:majorGridlines>'
# TODO: shape properties need to be extracted into a class
if gridlines == false
@@ -167,21 +167,21 @@ module Axlsx
# Need to set sourceLinked to 0 if we're setting a format code on this row
# otherwise it will never take, as it will always prefer the 'General' formatting
# of the cells themselves
- str << (+'<c:numFmt formatCode="' << @format_code << '" sourceLinked="' << (@format_code.eql?('General') ? '1' : '0') << '"/>')
+ str << '<c:numFmt formatCode="' << @format_code << '" sourceLinked="' << (@format_code.eql?('General') ? '1' : '0') << '"/>'
str << '<c:majorTickMark val="none"/>'
str << '<c:minorTickMark val="none"/>'
- str << (+'<c:tickLblPos val="' << @tick_lbl_pos.to_s << '"/>')
+ str << '<c:tickLblPos val="' << @tick_lbl_pos.to_s << '"/>'
# TODO: this is also being used for series colors
# time to extract this into a class spPr - Shape Properties
if @color
str << '<c:spPr><a:ln><a:solidFill>'
- str << (+'<a:srgbClr val="' << @color << '"/>')
+ str << '<a:srgbClr val="' << @color << '"/>'
str << '</a:solidFill></a:ln></c:spPr>'
end
# some potential value in implementing this in full. Very detailed!
- str << (+'<c:txPr><a:bodyPr rot="' << @label_rotation.to_s << '"/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:endParaRPr/></a:p></c:txPr>')
- str << (+'<c:crossAx val="' << @cross_axis.id.to_s << '"/>')
- str << (+'<c:crosses val="' << @crosses.to_s << '"/>')
+ str << '<c:txPr><a:bodyPr rot="' << @label_rotation.to_s << '"/><a:lstStyle/><a:p><a:pPr><a:defRPr/></a:pPr><a:endParaRPr/></a:p></c:txPr>'
+ str << '<c:crossAx val="' << @cross_axis.id.to_s << '"/>'
+ str << '<c:crosses val="' << @crosses.to_s << '"/>'
end
end
end
diff --git a/lib/axlsx/drawing/bar_3D_chart.rb b/lib/axlsx/drawing/bar_3D_chart.rb
index 37ac7dab..fe347d7c 100644
--- a/lib/axlsx/drawing/bar_3D_chart.rb
+++ b/lib/axlsx/drawing/bar_3D_chart.rb
@@ -123,14 +123,14 @@ module Axlsx
def to_xml_string(str = +'')
super(str) do
str << '<c:bar3DChart>'
- str << (+'<c:barDir val="' << bar_dir.to_s << '"/>')
- str << (+'<c:grouping val="' << grouping.to_s << '"/>')
- str << (+'<c:varyColors val="' << vary_colors.to_s << '"/>')
+ str << '<c:barDir val="' << bar_dir.to_s << '"/>'
+ str << '<c:grouping val="' << grouping.to_s << '"/>'
+ str << '<c:varyColors val="' << vary_colors.to_s << '"/>'
@series.each { |ser| ser.to_xml_string(str) }
@d_lbls.to_xml_string(str) if @d_lbls
- str << (+'<c:gapWidth val="' << @gap_width.to_s << '"/>') unless @gap_width.nil?
- str << (+'<c:gapDepth val="' << @gap_depth.to_s << '"/>') unless @gap_depth.nil?
- str << (+'<c:shape val="' << @shape.to_s << '"/>') unless @shape.nil?
+ str << '<c:gapWidth val="' << @gap_width.to_s << '"/>' unless @gap_width.nil?
+ str << '<c:gapDepth val="' << @gap_depth.to_s << '"/>' unless @gap_depth.nil?
+ str << '<c:shape val="' << @shape.to_s << '"/>' unless @shape.nil?
axes.to_xml_string(str, :ids => true)
str << '</c:bar3DChart>'
axes.to_xml_string(str)
diff --git a/lib/axlsx/drawing/bar_chart.rb b/lib/axlsx/drawing/bar_chart.rb
index eca54dfc..237ffdb3 100644
--- a/lib/axlsx/drawing/bar_chart.rb
+++ b/lib/axlsx/drawing/bar_chart.rb
@@ -113,14 +113,14 @@ module Axlsx
def to_xml_string(str = +'')
super(str) do
str << '<c:barChart>'
- str << (+'<c:barDir val="' << bar_dir.to_s << '"/>')
- str << (+'<c:grouping val="' << grouping.to_s << '"/>')
- str << (+'<c:varyColors val="' << vary_colors.to_s << '"/>')
+ str << '<c:barDir val="' << bar_dir.to_s << '"/>'
+ str << '<c:grouping val="' << grouping.to_s << '"/>'
+ str << '<c:varyColors val="' << vary_colors.to_s << '"/>'
@series.each { |ser| ser.to_xml_string(str) }
@d_lbls.to_xml_string(str) if @d_lbls
- str << (+'<c:overlap val="' << @overlap.to_s << '"/>') unless @overlap.nil?
- str << (+'<c:gapWidth val="' << @gap_width.to_s << '"/>') unless @gap_width.nil?
- str << (+'<c:shape val="' << @shape.to_s << '"/>') unless @shape.nil?
+ str << '<c:overlap val="' << @overlap.to_s << '"/>' unless @overlap.nil?
+ str << '<c:gapWidth val="' << @gap_width.to_s << '"/>' unless @gap_width.nil?
+ str << '<c:shape val="' << @shape.to_s << '"/>' unless @shape.nil?
axes.to_xml_string(str, :ids => true)
str << '</c:barChart>'
axes.to_xml_string(str)
diff --git a/lib/axlsx/drawing/bar_series.rb b/lib/axlsx/drawing/bar_series.rb
index c744175f..483a0c43 100644
--- a/lib/axlsx/drawing/bar_series.rb
+++ b/lib/axlsx/drawing/bar_series.rb
@@ -62,15 +62,15 @@ module Axlsx
super(str) do
colors.each_with_index do |c, index|
str << '<c:dPt>'
- str << (+'<c:idx val="' << index.to_s << '"/>')
+ str << '<c:idx val="' << index.to_s << '"/>'
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << c << '"/>')
+ str << '<a:srgbClr val="' << c << '"/>'
str << '</a:solidFill></c:spPr></c:dPt>'
end
if series_color
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << series_color << '"/>')
+ str << '<a:srgbClr val="' << series_color << '"/>'
str << '</a:solidFill>'
str << '</c:spPr>'
end
@@ -78,7 +78,7 @@ module Axlsx
@labels.to_xml_string(str) unless @labels.nil?
@data.to_xml_string(str) unless @data.nil?
# this is actually only required for shapes other than box
- str << (+'<c:shape val="' << shape.to_s << '"></c:shape>')
+ str << '<c:shape val="' << shape.to_s << '"></c:shape>'
end
end
diff --git a/lib/axlsx/drawing/bubble_chart.rb b/lib/axlsx/drawing/bubble_chart.rb
index b4932042..727f89a7 100644
--- a/lib/axlsx/drawing/bubble_chart.rb
+++ b/lib/axlsx/drawing/bubble_chart.rb
@@ -38,7 +38,7 @@ module Axlsx
def to_xml_string(str = +'')
super(str) do
str << '<c:bubbleChart>'
- str << (+'<c:varyColors val="' << vary_colors.to_s << '"/>')
+ str << '<c:varyColors val="' << vary_colors.to_s << '"/>'
@series.each { |ser| ser.to_xml_string(str) }
d_lbls.to_xml_string(str) if @d_lbls
axes.to_xml_string(str, :ids => true)
diff --git a/lib/axlsx/drawing/bubble_series.rb b/lib/axlsx/drawing/bubble_series.rb
index 25335270..b5903259 100644
--- a/lib/axlsx/drawing/bubble_series.rb
+++ b/lib/axlsx/drawing/bubble_series.rb
@@ -46,10 +46,10 @@ module Axlsx
# needs to override the super color here to push in ln/and something else!
if color
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/>')
+ str << '<a:srgbClr val="' << color << '"/>'
str << '</a:solidFill>'
str << '<a:ln><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>')
+ str << '<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>'
str << '</c:spPr>'
end
@xData.to_xml_string(str) unless @xData.nil?
diff --git a/lib/axlsx/drawing/cat_axis.rb b/lib/axlsx/drawing/cat_axis.rb
index a36f62d1..2f40f29f 100644
--- a/lib/axlsx/drawing/cat_axis.rb
+++ b/lib/axlsx/drawing/cat_axis.rb
@@ -71,11 +71,11 @@ module Axlsx
def to_xml_string(str = +'')
str << '<c:catAx>'
super(str)
- str << (+'<c:auto val="' << @auto.to_s << '"/>')
- str << (+'<c:lblAlgn val="' << @lbl_algn.to_s << '"/>')
- str << (+'<c:lblOffset val="' << @lbl_offset.to_i.to_s << '"/>')
- str << (+'<c:tickLblSkip val="' << @tick_lbl_skip.to_s << '"/>')
- str << (+'<c:tickMarkSkip val="' << @tick_mark_skip.to_s << '"/>')
+ str << '<c:auto val="' << @auto.to_s << '"/>'
+ str << '<c:lblAlgn val="' << @lbl_algn.to_s << '"/>'
+ str << '<c:lblOffset val="' << @lbl_offset.to_i.to_s << '"/>'
+ str << '<c:tickLblSkip val="' << @tick_lbl_skip.to_s << '"/>'
+ str << '<c:tickMarkSkip val="' << @tick_mark_skip.to_s << '"/>'
str << '</c:catAx>'
end
end
diff --git a/lib/axlsx/drawing/chart.rb b/lib/axlsx/drawing/chart.rb
index 300a5086..436319fb 100644
--- a/lib/axlsx/drawing/chart.rb
+++ b/lib/axlsx/drawing/chart.rb
@@ -206,13 +206,13 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<c:chartSpace xmlns:c="' << XML_NS_C << '" xmlns:a="' << XML_NS_A << '" xmlns:r="' << XML_NS_R << '">')
- str << (+'<c:date1904 val="' << Axlsx::Workbook.date1904.to_s << '"/>')
- str << (+'<c:roundedCorners val="' << rounded_corners.to_s << '"/>')
- str << (+'<c:style val="' << style.to_s << '"/>')
+ str << '<c:chartSpace xmlns:c="' << XML_NS_C << '" xmlns:a="' << XML_NS_A << '" xmlns:r="' << XML_NS_R << '">'
+ str << '<c:date1904 val="' << Axlsx::Workbook.date1904.to_s << '"/>'
+ str << '<c:roundedCorners val="' << rounded_corners.to_s << '"/>'
+ str << '<c:style val="' << style.to_s << '"/>'
str << '<c:chart>'
@title.to_xml_string(str) unless @title.empty?
- str << (+'<c:autoTitleDeleted val="' << @title.nil?.to_s << '"/>')
+ str << '<c:autoTitleDeleted val="' << @title.nil?.to_s << '"/>'
@view_3D.to_xml_string(str) if @view_3D
str << '<c:floor><c:thickness val="0"/></c:floor>'
str << '<c:sideWall><c:thickness val="0"/></c:sideWall>'
@@ -223,13 +223,13 @@ module Axlsx
str << '</c:plotArea>'
if @show_legend
str << '<c:legend>'
- str << (+'<c:legendPos val="' << @legend_position.to_s << '"/>')
+ str << '<c:legendPos val="' << @legend_position.to_s << '"/>'
str << '<c:layout/>'
str << '<c:overlay val="0"/>'
str << '</c:legend>'
end
- str << (+'<c:plotVisOnly val="' << @plot_visible_only.to_s << '"/>')
- str << (+'<c:dispBlanksAs val="' << display_blanks_as.to_s << '"/>')
+ str << '<c:plotVisOnly val="' << @plot_visible_only.to_s << '"/>'
+ str << '<c:dispBlanksAs val="' << display_blanks_as.to_s << '"/>'
str << '<c:showDLblsOverMax val="1"/>'
str << '</c:chart>'
if bg_color
diff --git a/lib/axlsx/drawing/drawing.rb b/lib/axlsx/drawing/drawing.rb
index 7be169be..ef532974 100644
--- a/lib/axlsx/drawing/drawing.rb
+++ b/lib/axlsx/drawing/drawing.rb
@@ -157,7 +157,7 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'
- str << (+'<xdr:wsDr xmlns:xdr="' << XML_NS_XDR << '" xmlns:a="' << XML_NS_A << '">')
+ str << '<xdr:wsDr xmlns:xdr="' << XML_NS_XDR << '" xmlns:a="' << XML_NS_A << '">'
anchors.each { |anchor| anchor.to_xml_string(str) }
str << '</xdr:wsDr>'
end
diff --git a/lib/axlsx/drawing/graphic_frame.rb b/lib/axlsx/drawing/graphic_frame.rb
index 7d0e818c..4e5b4c36 100644
--- a/lib/axlsx/drawing/graphic_frame.rb
+++ b/lib/axlsx/drawing/graphic_frame.rb
@@ -35,7 +35,7 @@ module Axlsx
# macro attribute should be optional!
str << '<xdr:graphicFrame>'
str << '<xdr:nvGraphicFramePr>'
- str << (+'<xdr:cNvPr id="' << @anchor.drawing.index.to_s << '" name="' << 'item_' << @anchor.drawing.index.to_s << '"/>')
+ str << '<xdr:cNvPr id="' << @anchor.drawing.index.to_s << '" name="' << 'item_' << @anchor.drawing.index.to_s << '"/>'
str << '<xdr:cNvGraphicFramePr/>'
str << '</xdr:nvGraphicFramePr>'
str << '<xdr:xfrm>'
@@ -43,8 +43,8 @@ module Axlsx
str << '<a:ext cx="0" cy="0"/>'
str << '</xdr:xfrm>'
str << '<a:graphic>'
- str << (+'<a:graphicData uri="' << XML_NS_C << '">')
- str << (+'<c:chart xmlns:c="' << XML_NS_C << '" xmlns:r="' << XML_NS_R << '" r:id="' << rId << '"/>')
+ str << '<a:graphicData uri="' << XML_NS_C << '">'
+ str << '<c:chart xmlns:c="' << XML_NS_C << '" xmlns:r="' << XML_NS_R << '" r:id="' << rId << '"/>'
str << '</a:graphicData>'
str << '</a:graphic>'
str << '</xdr:graphicFrame>'
diff --git a/lib/axlsx/drawing/line_3D_chart.rb b/lib/axlsx/drawing/line_3D_chart.rb
index 6a659550..f9f9606e 100644
--- a/lib/axlsx/drawing/line_3D_chart.rb
+++ b/lib/axlsx/drawing/line_3D_chart.rb
@@ -59,7 +59,7 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
super(str) do
- str << (+'<c:gapDepth val="' << @gap_depth.to_s << '"/>') unless @gap_depth.nil?
+ str << '<c:gapDepth val="' << @gap_depth.to_s << '"/>' unless @gap_depth.nil?
end
end
end
diff --git a/lib/axlsx/drawing/line_chart.rb b/lib/axlsx/drawing/line_chart.rb
index ab2012c7..21327820 100644
--- a/lib/axlsx/drawing/line_chart.rb
+++ b/lib/axlsx/drawing/line_chart.rb
@@ -76,14 +76,14 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
super(str) do
- str << (+"<c:" << node_name << ">")
- str << (+'<c:grouping val="' << grouping.to_s << '"/>')
- str << (+'<c:varyColors val="' << vary_colors.to_s << '"/>')
+ str << "<c:" << node_name << ">"
+ str << '<c:grouping val="' << grouping.to_s << '"/>'
+ str << '<c:varyColors val="' << vary_colors.to_s << '"/>'
@series.each { |ser| ser.to_xml_string(str) }
@d_lbls.to_xml_string(str) if @d_lbls
yield if block_given?
axes.to_xml_string(str, :ids => true)
- str << (+"</c:" << node_name << ">")
+ str << "</c:" << node_name << ">"
axes.to_xml_string(str)
end
end
diff --git a/lib/axlsx/drawing/line_series.rb b/lib/axlsx/drawing/line_series.rb
index 42c86873..bbd3957e 100644
--- a/lib/axlsx/drawing/line_series.rb
+++ b/lib/axlsx/drawing/line_series.rb
@@ -75,11 +75,11 @@ module Axlsx
super(str) do
if color
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/>')
+ str << '<a:srgbClr val="' << color << '"/>'
str << '</a:solidFill>'
str << '<a:ln w="28800">'
str << '<a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/>')
+ str << '<a:srgbClr val="' << color << '"/>'
str << '</a:solidFill>'
str << '</a:ln>'
str << '<a:round/>'
@@ -94,7 +94,7 @@ module Axlsx
@labels.to_xml_string(str) unless @labels.nil?
@data.to_xml_string(str) unless @data.nil?
- str << (+'<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>')
+ str << '<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>'
end
end
diff --git a/lib/axlsx/drawing/marker.rb b/lib/axlsx/drawing/marker.rb
index 987af605..a1801eb9 100644
--- a/lib/axlsx/drawing/marker.rb
+++ b/lib/axlsx/drawing/marker.rb
@@ -58,7 +58,7 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
[:col, :colOff, :row, :rowOff].each do |k|
- str << (+'<xdr:' << k.to_s << '>' << self.send(k).to_s << '</xdr:' << k.to_s << '>')
+ str << '<xdr:' << k.to_s << '>' << self.send(k).to_s << '</xdr:' << k.to_s << '>'
end
end
diff --git a/lib/axlsx/drawing/num_data.rb b/lib/axlsx/drawing/num_data.rb
index 79108777..fdcf505c 100644
--- a/lib/axlsx/drawing/num_data.rb
+++ b/lib/axlsx/drawing/num_data.rb
@@ -37,13 +37,13 @@ module Axlsx
# serialize the object
def to_xml_string(str = +'')
- str << (+'<c:' << @tag_name.to_s << '>')
- str << (+'<c:formatCode>' << format_code.to_s << '</c:formatCode>')
- str << (+'<c:ptCount val="' << @pt.size.to_s << '"/>')
+ str << '<c:' << @tag_name.to_s << '>'
+ str << '<c:formatCode>' << format_code.to_s << '</c:formatCode>'
+ str << '<c:ptCount val="' << @pt.size.to_s << '"/>'
@pt.each_with_index do |num_val, index|
num_val.to_xml_string index, str
end
- str << (+'</c:' << @tag_name.to_s << '>')
+ str << '</c:' << @tag_name.to_s << '>'
end
end
end
diff --git a/lib/axlsx/drawing/num_data_source.rb b/lib/axlsx/drawing/num_data_source.rb
index af5e31ab..0845ad31 100644
--- a/lib/axlsx/drawing/num_data_source.rb
+++ b/lib/axlsx/drawing/num_data_source.rb
@@ -45,16 +45,16 @@ module Axlsx
# serialize the object
# @param [String] str
def to_xml_string(str = +'')
- str << (+'<c:' << tag_name.to_s << '>')
+ str << '<c:' << tag_name.to_s << '>'
if @f
- str << (+'<c:' << @ref_tag_name.to_s << '>')
- str << (+'<c:f>' << @f.to_s << '</c:f>')
+ str << '<c:' << @ref_tag_name.to_s << '>'
+ str << '<c:f>' << @f.to_s << '</c:f>'
end
@data.to_xml_string str
if @f
- str << (+'</c:' << @ref_tag_name.to_s << '>')
+ str << '</c:' << @ref_tag_name.to_s << '>'
end
- str << (+'</c:' << tag_name.to_s << '>')
+ str << '</c:' << tag_name.to_s << '>'
end
end
end
diff --git a/lib/axlsx/drawing/num_val.rb b/lib/axlsx/drawing/num_val.rb
index b614f561..19829a30 100644
--- a/lib/axlsx/drawing/num_val.rb
+++ b/lib/axlsx/drawing/num_val.rb
@@ -26,7 +26,7 @@ module Axlsx
def to_xml_string(idx, str = +'')
Axlsx::validate_unsigned_int(idx)
if !v.to_s.empty?
- str << (+'<c:pt idx="' << idx.to_s << '" formatCode="' << format_code << '"><c:v>' << v.to_s << '</c:v></c:pt>')
+ str << '<c:pt idx="' << idx.to_s << '" formatCode="' << format_code << '"><c:v>' << v.to_s << '</c:v></c:pt>'
end
end
end
diff --git a/lib/axlsx/drawing/one_cell_anchor.rb b/lib/axlsx/drawing/one_cell_anchor.rb
index f98d65a1..59d0d972 100644
--- a/lib/axlsx/drawing/one_cell_anchor.rb
+++ b/lib/axlsx/drawing/one_cell_anchor.rb
@@ -79,7 +79,7 @@ module Axlsx
str << '<xdr:from>'
from.to_xml_string(str)
str << '</xdr:from>'
- str << (+'<xdr:ext cx="' << ext[:cx].to_s << '" cy="' << ext[:cy].to_s << '"/>')
+ str << '<xdr:ext cx="' << ext[:cx].to_s << '" cy="' << ext[:cy].to_s << '"/>'
@object.to_xml_string(str)
str << '<xdr:clientData/>'
str << '</xdr:oneCellAnchor>'
diff --git a/lib/axlsx/drawing/pic.rb b/lib/axlsx/drawing/pic.rb
index eec92a9c..77a051c3 100644
--- a/lib/axlsx/drawing/pic.rb
+++ b/lib/axlsx/drawing/pic.rb
@@ -192,7 +192,7 @@ module Axlsx
def to_xml_string(str = +'')
str << '<xdr:pic>'
str << '<xdr:nvPicPr>'
- str << (+'<xdr:cNvPr id="2" name="' << name.to_s << '" descr="' << descr.to_s << '">')
+ str << '<xdr:cNvPr id="2" name="' << name.to_s << '" descr="' << descr.to_s << '">'
hyperlink.to_xml_string(str) if hyperlink.is_a?(Hyperlink)
str << '</xdr:cNvPr><xdr:cNvPicPr>'
picture_locking.to_xml_string(str)
diff --git a/lib/axlsx/drawing/pie_3D_chart.rb b/lib/axlsx/drawing/pie_3D_chart.rb
index 1c68dbb7..aeb002d8 100644
--- a/lib/axlsx/drawing/pie_3D_chart.rb
+++ b/lib/axlsx/drawing/pie_3D_chart.rb
@@ -34,7 +34,7 @@ module Axlsx
def to_xml_string(str = +'')
super(str) do
str << '<c:pie3DChart>'
- str << (+'<c:varyColors val="' << vary_colors.to_s << '"/>')
+ str << '<c:varyColors val="' << vary_colors.to_s << '"/>'
@series.each { |ser| ser.to_xml_string(str) }
d_lbls.to_xml_string(str) if @d_lbls
str << '</c:pie3DChart>'
diff --git a/lib/axlsx/drawing/pie_series.rb b/lib/axlsx/drawing/pie_series.rb
index 52cd2b66..f3edd1e9 100644
--- a/lib/axlsx/drawing/pie_series.rb
+++ b/lib/axlsx/drawing/pie_series.rb
@@ -49,9 +49,9 @@ module Axlsx
str << '<c:explosion val="' + @explosion.to_s + '"/>' unless @explosion.nil?
colors.each_with_index do |c, index|
str << '<c:dPt>'
- str << (+'<c:idx val="' << index.to_s << '"/>')
+ str << '<c:idx val="' << index.to_s << '"/>'
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << c << '"/>')
+ str << '<a:srgbClr val="' << c << '"/>'
str << '</a:solidFill></c:spPr></c:dPt>'
end
@labels.to_xml_string str unless @labels.nil?
diff --git a/lib/axlsx/drawing/scaling.rb b/lib/axlsx/drawing/scaling.rb
index fc4b9d10..4d5a9d2a 100644
--- a/lib/axlsx/drawing/scaling.rb
+++ b/lib/axlsx/drawing/scaling.rb
@@ -49,10 +49,10 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<c:scaling>'
- str << (+'<c:logBase val="' << @logBase.to_s << '"/>') unless @logBase.nil?
- str << (+'<c:orientation val="' << @orientation.to_s << '"/>') unless @orientation.nil?
- str << (+'<c:min val="' << @min.to_s << '"/>') unless @min.nil?
- str << (+'<c:max val="' << @max.to_s << '"/>') unless @max.nil?
+ str << '<c:logBase val="' << @logBase.to_s << '"/>' unless @logBase.nil?
+ str << '<c:orientation val="' << @orientation.to_s << '"/>' unless @orientation.nil?
+ str << '<c:min val="' << @min.to_s << '"/>' unless @min.nil?
+ str << '<c:max val="' << @max.to_s << '"/>' unless @max.nil?
str << '</c:scaling>'
end
end
diff --git a/lib/axlsx/drawing/scatter_chart.rb b/lib/axlsx/drawing/scatter_chart.rb
index b518c594..60b7c5b3 100644
--- a/lib/axlsx/drawing/scatter_chart.rb
+++ b/lib/axlsx/drawing/scatter_chart.rb
@@ -52,8 +52,8 @@ module Axlsx
def to_xml_string(str = +'')
super(str) do
str << '<c:scatterChart>'
- str << (+'<c:scatterStyle val="' << scatter_style.to_s << '"/>')
- str << (+'<c:varyColors val="' << vary_colors.to_s << '"/>')
+ str << '<c:scatterStyle val="' << scatter_style.to_s << '"/>'
+ str << '<c:varyColors val="' << vary_colors.to_s << '"/>'
@series.each { |ser| ser.to_xml_string(str) }
d_lbls.to_xml_string(str) if @d_lbls
axes.to_xml_string(str, :ids => true)
diff --git a/lib/axlsx/drawing/scatter_series.rb b/lib/axlsx/drawing/scatter_series.rb
index e52306f5..9c6e12f2 100644
--- a/lib/axlsx/drawing/scatter_series.rb
+++ b/lib/axlsx/drawing/scatter_series.rb
@@ -85,17 +85,17 @@ module Axlsx
# needs to override the super color here to push in ln/and something else!
if color
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/>')
+ str << '<a:srgbClr val="' << color << '"/>'
str << '</a:solidFill>'
str << '<a:ln><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>')
+ str << '<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>'
str << '</c:spPr>'
str << '<c:marker>'
str << '<c:spPr><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/>')
+ str << '<a:srgbClr val="' << color << '"/>'
str << '</a:solidFill>'
str << '<a:ln><a:solidFill>'
- str << (+'<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>')
+ str << '<a:srgbClr val="' << color << '"/></a:solidFill></a:ln>'
str << '</c:spPr>'
str << marker_symbol_xml
str << '</c:marker>'
@@ -110,7 +110,7 @@ module Axlsx
end
@xData.to_xml_string(str) unless @xData.nil?
@yData.to_xml_string(str) unless @yData.nil?
- str << (+'<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>')
+ str << '<c:smooth val="' << ((smooth) ? '1' : '0') << '"/>'
end
str
end
diff --git a/lib/axlsx/drawing/ser_axis.rb b/lib/axlsx/drawing/ser_axis.rb
index 63628b14..4fea58e5 100644
--- a/lib/axlsx/drawing/ser_axis.rb
+++ b/lib/axlsx/drawing/ser_axis.rb
@@ -35,8 +35,8 @@ module Axlsx
def to_xml_string(str = +'')
str << '<c:serAx>'
super(str)
- str << (+'<c:tickLblSkip val="' << @tick_lbl_skip.to_s << '"/>') unless @tick_lbl_skip.nil?
- str << (+'<c:tickMarkSkip val="' << @tick_mark_skip.to_s << '"/>') unless @tick_mark_skip.nil?
+ str << '<c:tickLblSkip val="' << @tick_lbl_skip.to_s << '"/>' unless @tick_lbl_skip.nil?
+ str << '<c:tickMarkSkip val="' << @tick_mark_skip.to_s << '"/>' unless @tick_mark_skip.nil?
str << '</c:serAx>'
end
end
diff --git a/lib/axlsx/drawing/series.rb b/lib/axlsx/drawing/series.rb
index a468a6b7..5a91dd44 100644
--- a/lib/axlsx/drawing/series.rb
+++ b/lib/axlsx/drawing/series.rb
@@ -59,8 +59,8 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<c:ser>'
- str << (+'<c:idx val="' << index.to_s << '"/>')
- str << (+'<c:order val="' << (order || index).to_s << '"/>')
+ str << '<c:idx val="' << index.to_s << '"/>'
+ str << '<c:order val="' << (order || index).to_s << '"/>'
title.to_xml_string(str) unless title.nil?
yield if block_given?
str << '</c:ser>'
diff --git a/lib/axlsx/drawing/series_title.rb b/lib/axlsx/drawing/series_title.rb
index 2887495c..08e5e909 100644
--- a/lib/axlsx/drawing/series_title.rb
+++ b/lib/axlsx/drawing/series_title.rb
@@ -11,11 +11,11 @@ module Axlsx
str << '<c:tx>'
str << '<c:strRef>'
- str << (+'<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>')
+ str << '<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>'
str << '<c:strCache>'
str << '<c:ptCount val="1"/>'
str << '<c:pt idx="0">'
- str << (+'<c:v>' << clean_value << '</c:v>')
+ str << '<c:v>' << clean_value << '</c:v>'
str << '</c:pt>'
str << '</c:strCache>'
str << '</c:strRef>'
diff --git a/lib/axlsx/drawing/str_data.rb b/lib/axlsx/drawing/str_data.rb
index 0765671f..5ab15c39 100644
--- a/lib/axlsx/drawing/str_data.rb
+++ b/lib/axlsx/drawing/str_data.rb
@@ -28,12 +28,12 @@ module Axlsx
# serialize the object
def to_xml_string(str = +'')
- str << (+'<c:' << @tag_name.to_s << '>')
- str << (+'<c:ptCount val="' << @pt.size.to_s << '"/>')
+ str << '<c:' << @tag_name.to_s << '>'
+ str << '<c:ptCount val="' << @pt.size.to_s << '"/>'
@pt.each_with_index do |value, index|
value.to_xml_string index, str
end
- str << (+'</c:' << @tag_name.to_s << '>')
+ str << '</c:' << @tag_name.to_s << '>'
end
end
end
diff --git a/lib/axlsx/drawing/str_val.rb b/lib/axlsx/drawing/str_val.rb
index 821c7037..d09e6ce8 100644
--- a/lib/axlsx/drawing/str_val.rb
+++ b/lib/axlsx/drawing/str_val.rb
@@ -26,7 +26,7 @@ module Axlsx
def to_xml_string(idx, str = +'')
Axlsx::validate_unsigned_int(idx)
if !v.to_s.empty?
- str << (+'<c:pt idx="' << idx.to_s << '"><c:v>' << ::CGI.escapeHTML(v.to_s) << '</c:v></c:pt>')
+ str << '<c:pt idx="' << idx.to_s << '"><c:v>' << ::CGI.escapeHTML(v.to_s) << '</c:v></c:pt>'
end
end
end
diff --git a/lib/axlsx/drawing/title.rb b/lib/axlsx/drawing/title.rb
index 7bd41b17..c3ca9632 100644
--- a/lib/axlsx/drawing/title.rb
+++ b/lib/axlsx/drawing/title.rb
@@ -76,11 +76,11 @@ module Axlsx
str << '<c:tx>'
if @cell.is_a?(Cell)
str << '<c:strRef>'
- str << (+'<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>')
+ str << '<c:f>' << Axlsx::cell_range([@cell]) << '</c:f>'
str << '<c:strCache>'
str << '<c:ptCount val="1"/>'
str << '<c:pt idx="0">'
- str << (+'<c:v>' << clean_value << '</c:v>')
+ str << '<c:v>' << clean_value << '</c:v>'
str << '</c:pt>'
str << '</c:strCache>'
str << '</c:strRef>'
@@ -90,8 +90,8 @@ module Axlsx
str << '<a:lstStyle/>'
str << '<a:p>'
str << '<a:r>'
- str << (+'<a:rPr sz="' << @text_size.to_s << '"/>')
- str << (+'<a:t>' << clean_value << '</a:t>')
+ str << '<a:rPr sz="' << @text_size.to_s << '"/>'
+ str << '<a:t>' << clean_value << '</a:t>'
str << '</a:r>'
str << '</a:p>'
str << '</c:rich>'
diff --git a/lib/axlsx/drawing/val_axis.rb b/lib/axlsx/drawing/val_axis.rb
index 1200eb5d..3ae8f73a 100644
--- a/lib/axlsx/drawing/val_axis.rb
+++ b/lib/axlsx/drawing/val_axis.rb
@@ -29,7 +29,7 @@ module Axlsx
def to_xml_string(str = +'')
str << '<c:valAx>'
super(str)
- str << (+'<c:crossBetween val="' << @cross_between.to_s << '"/>')
+ str << '<c:crossBetween val="' << @cross_between.to_s << '"/>'
str << '</c:valAx>'
end
end
diff --git a/lib/axlsx/rels/relationship.rb b/lib/axlsx/rels/relationship.rb
index d9393b15..e379fa41 100644
--- a/lib/axlsx/rels/relationship.rb
+++ b/lib/axlsx/rels/relationship.rb
@@ -105,7 +105,7 @@ module Axlsx
def to_xml_string(str = +'')
h = Axlsx.instance_values_for(self).reject { |k, _| k == "source_obj" }
str << '<Relationship '
- str << (h.map { |key, value| +'' << key.to_s << '="' << Axlsx::coder.encode(value.to_s) << '"' }.join(' '))
+ h.each { |key, value| str << key.to_s << '="' << Axlsx::coder.encode(value.to_s) << '" ' }
str << '/>'
end
diff --git a/lib/axlsx/rels/relationships.rb b/lib/axlsx/rels/relationships.rb
index ec5b16e9..3aa9c1bf 100644
--- a/lib/axlsx/rels/relationships.rb
+++ b/lib/axlsx/rels/relationships.rb
@@ -23,7 +23,7 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<Relationships xmlns="' << RELS_R << '">')
+ str << '<Relationships xmlns="' << RELS_R << '">'
each { |rel| rel.to_xml_string(str) }
str << '</Relationships>'
end
diff --git a/lib/axlsx/stylesheet/border_pr.rb b/lib/axlsx/stylesheet/border_pr.rb
index 154b25f4..ad4e29fa 100644
--- a/lib/axlsx/stylesheet/border_pr.rb
+++ b/lib/axlsx/stylesheet/border_pr.rb
@@ -63,9 +63,9 @@ module Axlsx
# @param [String] str
# @return [String]
def to_xml_string(str = +'')
- str << (+'<' << @name.to_s << ' style="' << @style.to_s << '">')
+ str << '<' << @name.to_s << ' style="' << @style.to_s << '">'
@color.to_xml_string(str) if @color.is_a?(Color)
- str << (+'</' << @name.to_s << '>')
+ str << '</' << @name.to_s << '>'
end
end
end
diff --git a/lib/axlsx/stylesheet/font.rb b/lib/axlsx/stylesheet/font.rb
index 463b8fc0..8b183b6e 100644
--- a/lib/axlsx/stylesheet/font.rb
+++ b/lib/axlsx/stylesheet/font.rb
@@ -151,7 +151,7 @@ module Axlsx
def to_xml_string(str = +'')
str << '<font>'
Axlsx.instance_values_for(self).each do |k, v|
- v.is_a?(Color) ? v.to_xml_string(str) : (str << (+'<' << k.to_s << ' val="' << Axlsx.booleanize(v).to_s << '"/>'))
+ v.is_a?(Color) ? v.to_xml_string(str) : (str << '<' << k.to_s << ' val="' << Axlsx.booleanize(v).to_s << '"/>')
end
str << '</font>'
end
diff --git a/lib/axlsx/stylesheet/gradient_stop.rb b/lib/axlsx/stylesheet/gradient_stop.rb
index 83f39a55..dd0ea00f 100644
--- a/lib/axlsx/stylesheet/gradient_stop.rb
+++ b/lib/axlsx/stylesheet/gradient_stop.rb
@@ -30,7 +30,7 @@ module Axlsx
# @param [String] str
# @return [String]
def to_xml_string(str = +'')
- str << (+'<stop position="' << position.to_s << '">')
+ str << '<stop position="' << position.to_s << '">'
self.color.to_xml_string(str)
str << '</stop>'
end
diff --git a/lib/axlsx/stylesheet/pattern_fill.rb b/lib/axlsx/stylesheet/pattern_fill.rb
index cabce9f5..9f92dc00 100644
--- a/lib/axlsx/stylesheet/pattern_fill.rb
+++ b/lib/axlsx/stylesheet/pattern_fill.rb
@@ -59,7 +59,7 @@ module Axlsx
# @param [String] str
# @return [String]
def to_xml_string(str = +'')
- str << (+'<patternFill patternType="' << patternType.to_s << '">')
+ str << '<patternFill patternType="' << patternType.to_s << '">'
if fgColor.is_a?(Color)
fgColor.to_xml_string str, "fgColor"
end
diff --git a/lib/axlsx/stylesheet/styles.rb b/lib/axlsx/stylesheet/styles.rb
index 809630f2..7b44c023 100644
--- a/lib/axlsx/stylesheet/styles.rb
+++ b/lib/axlsx/stylesheet/styles.rb
@@ -486,7 +486,7 @@ module Axlsx
# @param [String] str
# @return [String]
def to_xml_string(str = +'')
- str << (+'<styleSheet xmlns="' << XML_NS << '">')
+ str << '<styleSheet xmlns="' << XML_NS << '">'
instance_vals = Axlsx.instance_values_for(self)
[:numFmts, :fonts, :fills, :borders, :cellStyleXfs, :cellXfs, :cellStyles, :dxfs, :tableStyles].each do |key|
instance_vals[key.to_s].to_xml_string(str) unless instance_vals[key.to_s].nil?
diff --git a/lib/axlsx/util/simple_typed_list.rb b/lib/axlsx/util/simple_typed_list.rb
index 2bd6b648..60da0372 100644
--- a/lib/axlsx/util/simple_typed_list.rb
+++ b/lib/axlsx/util/simple_typed_list.rb
@@ -174,9 +174,9 @@ module Axlsx
def to_xml_string(str = +'')
classname = @allowed_types[0].name.split('::').last
el_name = serialize_as.to_s || (classname[0, 1].downcase + classname[1..-1])
- str << (+'<' << el_name << ' count="' << size.to_s << '">')
+ str << '<' << el_name << ' count="' << size.to_s << '">'
each { |item| item.to_xml_string(str) }
- str << (+'</' << el_name << '>')
+ str << '</' << el_name << '>'
end
end
end
diff --git a/lib/axlsx/workbook/defined_name.rb b/lib/axlsx/workbook/defined_name.rb
index 4ddcff2c..38669076 100644
--- a/lib/axlsx/workbook/defined_name.rb
+++ b/lib/axlsx/workbook/defined_name.rb
@@ -123,9 +123,9 @@ module Axlsx
def to_xml_string(str = +'')
raise ArgumentError, 'you must specify the name for this defined name. Please read the documentation for Axlsx::DefinedName for more details' unless name
- str << (+'<definedName ' << 'name="' << name << '" ')
+ str << '<definedName ' << 'name="' << name << '" '
serialized_attributes str
- str << (+'>' << @formula << '</definedName>')
+ str << '>' << @formula << '</definedName>'
end
end
end
diff --git a/lib/axlsx/workbook/shared_strings_table.rb b/lib/axlsx/workbook/shared_strings_table.rb
index 17007b08..a8086f3e 100644
--- a/lib/axlsx/workbook/shared_strings_table.rb
+++ b/lib/axlsx/workbook/shared_strings_table.rb
@@ -47,9 +47,9 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
Axlsx::sanitize(@shared_xml_string)
- str << (+'<?xml version="1.0" encoding="UTF-8"?><sst xmlns="' << XML_NS << '"')
- str << (+' count="' << @count.to_s << '" uniqueCount="' << unique_count.to_s << '"')
- str << (+' xml:space="' << xml_space.to_s << '">' << @shared_xml_string << '</sst>')
+ str << '<?xml version="1.0" encoding="UTF-8"?><sst xmlns="' << XML_NS << '"'
+ str << ' count="' << @count.to_s << '" uniqueCount="' << unique_count.to_s << '"'
+ str << ' xml:space="' << xml_space.to_s << '">' << @shared_xml_string << '</sst>'
end
private
diff --git a/lib/axlsx/workbook/workbook.rb b/lib/axlsx/workbook/workbook.rb
index ab16a4ed..3e4927aa 100644
--- a/lib/axlsx/workbook/workbook.rb
+++ b/lib/axlsx/workbook/workbook.rb
@@ -408,8 +408,8 @@ module Axlsx
def to_xml_string(str = +'')
add_worksheet(name: 'Sheet1') unless worksheets.size > 0
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<workbook xmlns="' << XML_NS << '" xmlns:r="' << XML_NS_R << '">')
- str << (+'<workbookPr date1904="' << @@date1904.to_s << '"/>')
+ str << '<workbook xmlns="' << XML_NS << '" xmlns:r="' << XML_NS_R << '">'
+ str << '<workbookPr date1904="' << @@date1904.to_s << '"/>'
views.to_xml_string(str)
str << '<sheets>'
if is_reversed
@@ -422,7 +422,7 @@ module Axlsx
unless pivot_tables.empty?
str << '<pivotCaches>'
pivot_tables.each do |pivot_table|
- str << (+'<pivotCache cacheId="' << pivot_table.cache_definition.cache_id.to_s << '" r:id="' << pivot_table.cache_definition.rId << '"/>')
+ str << '<pivotCache cacheId="' << pivot_table.cache_definition.cache_id.to_s << '" r:id="' << pivot_table.cache_definition.rId << '"/>'
end
str << '</pivotCaches>'
end
diff --git a/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb b/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
index f014eb18..16096a52 100644
--- a/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
+++ b/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
@@ -88,7 +88,9 @@ module Axlsx
# Serialize the object to xml
def to_xml_string(str = +'')
- str << "<filterColumn #{serialized_attributes}>"
+ str << '<filterColumn '
+ serialized_attributes(str)
+ str << '>'
@filter.to_xml_string(str)
str << "</filterColumn>"
end
diff --git a/lib/axlsx/workbook/worksheet/auto_filter/filters.rb b/lib/axlsx/workbook/worksheet/auto_filter/filters.rb
index 0fc5c968..38bafe85 100644
--- a/lib/axlsx/workbook/worksheet/auto_filter/filters.rb
+++ b/lib/axlsx/workbook/worksheet/auto_filter/filters.rb
@@ -77,7 +77,9 @@ module Axlsx
# Serialize the object to xml
def to_xml_string(str = +'')
- str << "<filters #{serialized_attributes}>"
+ str << '<filters '
+ serialized_attributes(str)
+ str << '>'
filter_items.each { |filter| filter.to_xml_string(str) }
date_group_items.each { |date_group_item| date_group_item.to_xml_string(str) }
str << '</filters>'
diff --git a/lib/axlsx/workbook/worksheet/cell_serializer.rb b/lib/axlsx/workbook/worksheet/cell_serializer.rb
index b4c16b57..e1bdf728 100644
--- a/lib/axlsx/workbook/worksheet/cell_serializer.rb
+++ b/lib/axlsx/workbook/worksheet/cell_serializer.rb
@@ -10,7 +10,7 @@ module Axlsx
# @param [String] str The string to apend serialization to.
# @return [String]
def to_xml_string(row_index, column_index, cell, str = +'')
- str << (+'<c r="' << Axlsx::cell_r(column_index, row_index) << '" s="' << cell.style.to_s << '" ')
+ str << '<c r="' << Axlsx::cell_r(column_index, row_index) << '" s="' << cell.style.to_s << '" '
return str << '/>' if cell.value.nil?
method = cell.type
@@ -30,7 +30,7 @@ module Axlsx
elsif cell.contains_rich_text?
cell.value.to_xml_string(str)
else
- str << (+'<t>' << cell.clean_value << '</t>')
+ str << '<t>' << cell.clean_value << '</t>'
end
str
end
@@ -88,8 +88,8 @@ module Axlsx
# @param [String] str The string the serialized content will be appended to.
# @return [String]
def formula_serialization(cell, str = +'')
- str << (+'t="str"><f>' << cell.clean_value.to_s.sub('=', '') << '</f>')
- str << (+'<v>' << cell.formula_value.to_s << '</v>') unless cell.formula_value.nil?
+ str << 't="str"><f>' << cell.clean_value.to_s.sub('=', '') << '</f>'
+ str << '<v>' << cell.formula_value.to_s << '</v>' unless cell.formula_value.nil?
end
# Serializes cells that are type array formula
@@ -97,8 +97,8 @@ module Axlsx
# @param [String] str The string the serialized content will be appended to.
# @return [String]
def array_formula_serialization(cell, str = +'')
- str << (+'t="str">' << '<f t="array" ref="' << cell.r << '">' << cell.clean_value.to_s.sub('{=', '').sub(/}$/, '') << '</f>')
- str << (+'<v>' << cell.formula_value.to_s << '</v>') unless cell.formula_value.nil?
+ str << 't="str">' << '<f t="array" ref="' << cell.r << '">' << cell.clean_value.to_s.sub('{=', '').sub(/}$/, '') << '</f>'
+ str << '<v>' << cell.formula_value.to_s << '</v>' unless cell.formula_value.nil?
end
# Serializes cells that are type inline_string
@@ -158,8 +158,8 @@ module Axlsx
end
def value_serialization(serialization_type, serialization_value, str = +'')
- str << (+'t="' << serialization_type.to_s << '"') if serialization_type
- str << (+'><v>' << serialization_value.to_s << '</v>')
+ str << 't="' << serialization_type.to_s << '"' if serialization_type
+ str << '><v>' << serialization_value.to_s << '</v>'
end
end
end
diff --git a/lib/axlsx/workbook/worksheet/col_breaks.rb b/lib/axlsx/workbook/worksheet/col_breaks.rb
index 2e176f0d..58fe9e10 100644
--- a/lib/axlsx/workbook/worksheet/col_breaks.rb
+++ b/lib/axlsx/workbook/worksheet/col_breaks.rb
@@ -28,7 +28,7 @@ module Axlsx
def to_xml_string(str = +'')
return if empty?
- str << (+'<colBreaks count="' << size.to_s << '" manualBreakCount="' << size.to_s << '">')
+ str << '<colBreaks count="' << size.to_s << '" manualBreakCount="' << size.to_s << '">'
each { |brk| brk.to_xml_string(str) }
str << '</colBreaks>'
end
diff --git a/lib/axlsx/workbook/worksheet/comment.rb b/lib/axlsx/workbook/worksheet/comment.rb
index 1da779aa..ea8324d0 100644
--- a/lib/axlsx/workbook/worksheet/comment.rb
+++ b/lib/axlsx/workbook/worksheet/comment.rb
@@ -63,15 +63,15 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
author = @comments.authors[author_index]
- str << (+'<comment ref="' << ref << '" authorId="' << author_index.to_s << '">')
+ str << '<comment ref="' << ref << '" authorId="' << author_index.to_s << '">'
str << '<text>'
unless author.to_s == ""
str << '<r><rPr><b/><color indexed="81"/></rPr>'
- str << (+"<t>" << ::CGI.escapeHTML(author.to_s) << ":\n</t></r>")
+ str << "<t>" << ::CGI.escapeHTML(author.to_s) << ":\n</t></r>"
end
str << '<r>'
str << '<rPr><color indexed="81"/></rPr>'
- str << (+'<t>' << ::CGI.escapeHTML(text) << '</t></r></text>')
+ str << '<t>' << ::CGI.escapeHTML(text) << '</t></r></text>'
str << '</comment>'
end
diff --git a/lib/axlsx/workbook/worksheet/comments.rb b/lib/axlsx/workbook/worksheet/comments.rb
index b121ccd7..cb8efdaa 100644
--- a/lib/axlsx/workbook/worksheet/comments.rb
+++ b/lib/axlsx/workbook/worksheet/comments.rb
@@ -66,9 +66,9 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<comments xmlns="' << XML_NS << '"><authors>')
+ str << '<comments xmlns="' << XML_NS << '"><authors>'
authors.each do |author|
- str << (+'<author>' << author.to_s << '</author>')
+ str << '<author>' << author.to_s << '</author>'
end
str << '</authors><commentList>'
each do |comment|
diff --git a/lib/axlsx/workbook/worksheet/conditional_formatting.rb b/lib/axlsx/workbook/worksheet/conditional_formatting.rb
index bd5f5bc6..7c05c77e 100644
--- a/lib/axlsx/workbook/worksheet/conditional_formatting.rb
+++ b/lib/axlsx/workbook/worksheet/conditional_formatting.rb
@@ -75,8 +75,8 @@ module Axlsx
# @param [String] str
# @return [String]
def to_xml_string(str = +'')
- str << (+'<conditionalFormatting sqref="' << sqref << '">')
- str << rules.collect { |rule| rule.to_xml_string }.join(' ')
+ str << '<conditionalFormatting sqref="' << sqref << '">'
+ rules.each { |rule| rule.to_xml_string(str) }
str << '</conditionalFormatting>'
end
end
diff --git a/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb b/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
index 1845f327..5d626e46 100644
--- a/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
+++ b/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
@@ -208,7 +208,7 @@ module Axlsx
str << '<cfRule '
serialized_attributes str
str << '>'
- str << (+'<formula>' << [*self.formula].join('</formula><formula>') << '</formula>') if @formula
+ str << '<formula>' << [*self.formula].join('</formula><formula>') << '</formula>' if @formula
@color_scale.to_xml_string(str) if @color_scale && @type == :colorScale
@data_bar.to_xml_string(str) if @data_bar && @type == :dataBar
@icon_set.to_xml_string(str) if @icon_set && @type == :iconSet
diff --git a/lib/axlsx/workbook/worksheet/data_validation.rb b/lib/axlsx/workbook/worksheet/data_validation.rb
index 1b9cb46a..d5fa5908 100644
--- a/lib/axlsx/workbook/worksheet/data_validation.rb
+++ b/lib/axlsx/workbook/worksheet/data_validation.rb
@@ -237,12 +237,12 @@ module Axlsx
valid_attributes = get_valid_attributes
str << '<dataValidation '
- str << Axlsx.instance_values_for(self).map do |key, value|
- +'' << key << '="' << Axlsx.booleanize(value).to_s << '"' if (valid_attributes.include?(key.to_sym) && !CHILD_ELEMENTS.include?(key.to_sym))
- end.join(' ')
+ Axlsx.instance_values_for(self).each do |key, value|
+ str << key << '="' << Axlsx.booleanize(value).to_s << '" ' if (valid_attributes.include?(key.to_sym) && !CHILD_ELEMENTS.include?(key.to_sym))
+ end
str << '>'
- str << (+'<formula1>' << self.formula1 << '</formula1>') if @formula1 and valid_attributes.include?(:formula1)
- str << (+'<formula2>' << self.formula2 << '</formula2>') if @formula2 and valid_attributes.include?(:formula2)
+ str << '<formula1>' << self.formula1 << '</formula1>' if @formula1 and valid_attributes.include?(:formula1)
+ str << '<formula2>' << self.formula2 << '</formula2>' if @formula2 and valid_attributes.include?(:formula2)
str << '</dataValidation>'
end
diff --git a/lib/axlsx/workbook/worksheet/outline_pr.rb b/lib/axlsx/workbook/worksheet/outline_pr.rb
index 4cfeea2d..1059ad18 100644
--- a/lib/axlsx/workbook/worksheet/outline_pr.rb
+++ b/lib/axlsx/workbook/worksheet/outline_pr.rb
@@ -28,7 +28,9 @@ module Axlsx
# @param [String] str serialized output will be appended to this object if provided.
# @return [String]
def to_xml_string(str = +'')
- str << "<outlinePr #{serialized_attributes} />"
+ str << '<outlinePr '
+ serialized_attributes(str)
+ str << '/>'
end
end
end
diff --git a/lib/axlsx/workbook/worksheet/page_set_up_pr.rb b/lib/axlsx/workbook/worksheet/page_set_up_pr.rb
index 9a2b778b..4291eb38 100644
--- a/lib/axlsx/workbook/worksheet/page_set_up_pr.rb
+++ b/lib/axlsx/workbook/worksheet/page_set_up_pr.rb
@@ -38,7 +38,9 @@ module Axlsx
# serialize to xml
def to_xml_string(str = +'')
- str << (+'<pageSetUpPr ' << serialized_attributes << '/>')
+ str << '<pageSetUpPr '
+ serialized_attributes(str)
+ str << '/>'
end
end
end
diff --git a/lib/axlsx/workbook/worksheet/pivot_table.rb b/lib/axlsx/workbook/worksheet/pivot_table.rb
index e97b8119..27065e4b 100644
--- a/lib/axlsx/workbook/worksheet/pivot_table.rb
+++ b/lib/axlsx/workbook/worksheet/pivot_table.rb
@@ -189,10 +189,10 @@ module Axlsx
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<pivotTableDefinition xmlns="' << XML_NS << '" name="' << name << '" cacheId="' << cache_definition.cache_id.to_s << '"' << (data.size <= 1 ? ' dataOnRows="1"' : '') << ' applyNumberFormats="0" applyBorderFormats="0" applyFontFormats="0" applyPatternFormats="0" applyAlignmentFormats="0" applyWidthHeightFormats="1" dataCaption="Data" showMultipleLabel="0" showMemberPropertyTips="0" useAutoFormatting="1" indent="0" compact="0" compactData="0" gridDropZones="1" multipleFieldFilters="0">')
+ str << '<pivotTableDefinition xmlns="' << XML_NS << '" name="' << name << '" cacheId="' << cache_definition.cache_id.to_s << '"' << (data.size <= 1 ? ' dataOnRows="1"' : '') << ' applyNumberFormats="0" applyBorderFormats="0" applyFontFormats="0" applyPatternFormats="0" applyAlignmentFormats="0" applyWidthHeightFormats="1" dataCaption="Data" showMultipleLabel="0" showMemberPropertyTips="0" useAutoFormatting="1" indent="0" compact="0" compactData="0" gridDropZones="1" multipleFieldFilters="0">'
- str << (+'<location firstDataCol="1" firstDataRow="1" firstHeaderRow="1" ref="' << ref << '"/>')
- str << (+'<pivotFields count="' << header_cells_count.to_s << '">')
+ str << '<location firstDataCol="1" firstDataRow="1" firstHeaderRow="1" ref="' << ref << '"/>'
+ str << '<pivotFields count="' << header_cells_count.to_s << '">'
header_cell_values.each do |cell_value|
subtotal = !no_subtotals_on_headers.include?(cell_value)
@@ -205,12 +205,12 @@ module Axlsx
str << '<rowFields count="1"><field x="-2"/></rowFields>'
str << '<rowItems count="2"><i><x/></i> <i i="1"><x v="1"/></i></rowItems>'
else
- str << (+'<rowFields count="' << rows.size.to_s << '">')
+ str << '<rowFields count="' << rows.size.to_s << '">'
rows.each do |row_value|
- str << (+'<field x="' << header_index_of(row_value).to_s << '"/>')
+ str << '<field x="' << header_index_of(row_value).to_s << '"/>'
end
str << '</rowFields>'
- str << (+'<rowItems count="' << rows.size.to_s << '">')
+ str << '<rowItems count="' << rows.size.to_s << '">'
rows.size.times do |i|
str << '<i/>'
end
@@ -229,16 +229,16 @@ module Axlsx
str << '<colItems count="1"><i/></colItems>'
end
else
- str << (+'<colFields count="' << columns.size.to_s << '">')
+ str << '<colFields count="' << columns.size.to_s << '">'
columns.each do |column_value|
- str << (+'<field x="' << header_index_of(column_value).to_s << '"/>')
+ str << '<field x="' << header_index_of(column_value).to_s << '"/>'
end
str << '</colFields>'
end
unless pages.empty?
- str << (+'<pageFields count="' << pages.size.to_s << '">')
+ str << '<pageFields count="' << pages.size.to_s << '">'
pages.each do |page_value|
- str << (+'<pageField fld="' << header_index_of(page_value).to_s << '"/>')
+ str << '<pageField fld="' << header_index_of(page_value).to_s << '"/>'
end
str << '</pageFields>'
end
diff --git a/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb b/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb
index d42c1fda..4928d5ac 100644
--- a/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb
+++ b/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb
@@ -47,13 +47,13 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<pivotCacheDefinition xmlns="' << XML_NS << '" xmlns:r="' << XML_NS_R << '" invalid="1" refreshOnLoad="1" recordCount="0">')
+ str << '<pivotCacheDefinition xmlns="' << XML_NS << '" xmlns:r="' << XML_NS_R << '" invalid="1" refreshOnLoad="1" recordCount="0">'
str << '<cacheSource type="worksheet">'
- str << (+'<worksheetSource ref="' << pivot_table.range << '" sheet="' << pivot_table.data_sheet.name << '"/>')
+ str << '<worksheetSource ref="' << pivot_table.range << '" sheet="' << pivot_table.data_sheet.name << '"/>'
str << '</cacheSource>'
- str << (+'<cacheFields count="' << pivot_table.header_cells_count.to_s << '">')
+ str << '<cacheFields count="' << pivot_table.header_cells_count.to_s << '">'
pivot_table.header_cells.each do |cell|
- str << (+'<cacheField name="' << cell.clean_value << '" numFmtId="0">')
+ str << '<cacheField name="' << cell.clean_value << '" numFmtId="0">'
str << '<sharedItems count="0">'
str << '</sharedItems>'
str << '</cacheField>'
diff --git a/lib/axlsx/workbook/worksheet/rich_text_run.rb b/lib/axlsx/workbook/worksheet/rich_text_run.rb
index ee988318..883d01d3 100644
--- a/lib/axlsx/workbook/worksheet/rich_text_run.rb
+++ b/lib/axlsx/workbook/worksheet/rich_text_run.rb
@@ -214,15 +214,15 @@ module Axlsx
data.keys.each do |key|
case key
when :font_name
- str << (+'<rFont val="' << font_name << '"/>')
+ str << '<rFont val="' << font_name << '"/>'
when :color
str << data[key].to_xml_string
else
- str << (+'<' << key.to_s << ' val="' << xml_value(data[key]) << '"/>')
+ str << '<' << key.to_s << ' val="' << xml_value(data[key]) << '"/>'
end
end
clean_value = Axlsx::trust_input ? @value.to_s : ::CGI.escapeHTML(Axlsx::sanitize(@value.to_s))
- str << (+'</rPr><t>' << clean_value << '</t></r>')
+ str << '</rPr><t>' << clean_value << '</t></r>'
end
private
diff --git a/lib/axlsx/workbook/worksheet/row.rb b/lib/axlsx/workbook/worksheet/row.rb
index 0c139164..16116835 100644
--- a/lib/axlsx/workbook/worksheet/row.rb
+++ b/lib/axlsx/workbook/worksheet/row.rb
@@ -90,9 +90,7 @@ module Axlsx
# @return [String]
def to_xml_string(r_index, str = +'')
serialized_tag('row', str, :r => r_index + 1) do
- tmp = +'' # time / memory tradeoff, lots of calls to rubyzip costs more time..
- each_with_index { |cell, c_index| cell.to_xml_string(r_index, c_index, tmp) }
- str << tmp
+ each_with_index { |cell, c_index| cell.to_xml_string(r_index, c_index, str) }
end
end
diff --git a/lib/axlsx/workbook/worksheet/row_breaks.rb b/lib/axlsx/workbook/worksheet/row_breaks.rb
index 3e945b78..56e8c4c6 100644
--- a/lib/axlsx/workbook/worksheet/row_breaks.rb
+++ b/lib/axlsx/workbook/worksheet/row_breaks.rb
@@ -26,7 +26,7 @@ module Axlsx
def to_xml_string(str = +'')
return if empty?
- str << (+'<rowBreaks count="' << self.size.to_s << '" manualBreakCount="' << self.size.to_s << '">')
+ str << '<rowBreaks count="' << self.size.to_s << '" manualBreakCount="' << self.size.to_s << '">'
each { |brk| brk.to_xml_string(str) }
str << '</rowBreaks>'
end
diff --git a/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb b/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
index e85cbf2c..d43198cf 100644
--- a/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
@@ -24,7 +24,9 @@ module Axlsx
# content to.
# @return [String]
def to_xml_string(str = +'')
- str << "<sheetCalcPr #{serialized_attributes}/>"
+ str << '<sheetCalcPr '
+ serialized_attributes(str)
+ str << '/>'
end
end
end
diff --git a/lib/axlsx/workbook/worksheet/sheet_format_pr.rb b/lib/axlsx/workbook/worksheet/sheet_format_pr.rb
index 227b9037..ecf8157f 100644
--- a/lib/axlsx/workbook/worksheet/sheet_format_pr.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_format_pr.rb
@@ -49,7 +49,9 @@ module Axlsx
# @param [String] str The string this objects serialization will be appended to
# @return [String]
def to_xml_string(str = +'')
- str << "<sheetFormatPr #{serialized_attributes}/>"
+ str << '<sheetFormatPr '
+ serialized_attributes(str)
+ str << '/>'
end
private
diff --git a/lib/axlsx/workbook/worksheet/sheet_pr.rb b/lib/axlsx/workbook/worksheet/sheet_pr.rb
index f90e7d6c..86826f77 100644
--- a/lib/axlsx/workbook/worksheet/sheet_pr.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_pr.rb
@@ -52,7 +52,9 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
update_properties
- str << "<sheetPr #{serialized_attributes}>"
+ str << '<sheetPr '
+ serialized_attributes(str)
+ str << '>'
tab_color.to_xml_string(str, 'tabColor') if tab_color
outline_pr.to_xml_string(str) if @outline_pr
page_setup_pr.to_xml_string(str)
diff --git a/lib/axlsx/workbook/worksheet/table.rb b/lib/axlsx/workbook/worksheet/table.rb
index 430ef489..210833e0 100644
--- a/lib/axlsx/workbook/worksheet/table.rb
+++ b/lib/axlsx/workbook/worksheet/table.rb
@@ -75,12 +75,12 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
str << '<?xml version="1.0" encoding="UTF-8"?>'
- str << (+'<table xmlns="' << XML_NS << '" id="' << (index + 1).to_s << '" name="' << @name << '" displayName="' << @name.gsub(/\s/, '_') << '" ')
- str << (+'ref="' << @ref << '" totalsRowShown="0">')
- str << (+'<autoFilter ref="' << @ref << '"/>')
- str << (+'<tableColumns count="' << header_cells.length.to_s << '">')
+ str << '<table xmlns="' << XML_NS << '" id="' << (index + 1).to_s << '" name="' << @name << '" displayName="' << @name.gsub(/\s/, '_') << '" '
+ str << 'ref="' << @ref << '" totalsRowShown="0">'
+ str << '<autoFilter ref="' << @ref << '"/>'
+ str << '<tableColumns count="' << header_cells.length.to_s << '">'
header_cells.each_with_index do |cell, index|
- str << (+'<tableColumn id ="' << (index + 1).to_s << '" name="' << cell.clean_value << '"/>')
+ str << '<tableColumn id ="' << (index + 1).to_s << '" name="' << cell.clean_value << '"/>'
end
str << '</tableColumns>'
table_style_info.to_xml_string(str)
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index 0a44027f..8c3514cc 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -632,8 +632,8 @@ module Axlsx
add_autofilter_defined_name_to_workbook
str << '<sheet '
serialized_attributes str
- str << (+'name="' << name << '" ')
- str << (+'r:id="' << rId << '"></sheet>')
+ str << 'name="' << name << '" '
+ str << 'r:id="' << rId << '"></sheet>'
end
# Serializes the worksheet object to an xml string