summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPaul Kmiec <[email protected]>2023-05-04 18:01:01 -0700
committerPaul Kmiec <[email protected]>2023-05-04 18:02:55 -0700
commitfef93ec8ae2caf8a3f8310dbf8101c103e5905e4 (patch)
treebaf17c508f1be8cb3fd38c5071a7de47ba3945bb
parent086e78d0d1f0896b6ca5f48b4873e861212f94aa (diff)
downloadcaxlsx-fef93ec8ae2caf8a3f8310dbf8101c103e5905e4.tar.gz
caxlsx-fef93ec8ae2caf8a3f8310dbf8101c103e5905e4.zip
Enable Style/FrozenStringLiteralComment and autocorrect
-rw-r--r--.rubocop_todo.yml6
-rw-r--r--Gemfile2
-rw-r--r--Rakefile2
-rw-r--r--axlsx.gemspec2
-rw-r--r--lib/axlsx.rb2
-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/content_type/default.rb2
-rw-r--r--lib/axlsx/content_type/override.rb2
-rw-r--r--lib/axlsx/doc_props/app.rb2
-rw-r--r--lib/axlsx/doc_props/core.rb2
-rw-r--r--lib/axlsx/drawing/area_chart.rb2
-rw-r--r--lib/axlsx/drawing/area_series.rb2
-rw-r--r--lib/axlsx/drawing/ax_data_source.rb2
-rw-r--r--lib/axlsx/drawing/axes.rb2
-rw-r--r--lib/axlsx/drawing/axis.rb2
-rw-r--r--lib/axlsx/drawing/bar_3D_chart.rb2
-rw-r--r--lib/axlsx/drawing/bar_chart.rb2
-rw-r--r--lib/axlsx/drawing/bar_series.rb2
-rw-r--r--lib/axlsx/drawing/bubble_chart.rb2
-rw-r--r--lib/axlsx/drawing/bubble_series.rb2
-rw-r--r--lib/axlsx/drawing/cat_axis.rb2
-rw-r--r--lib/axlsx/drawing/chart.rb2
-rw-r--r--lib/axlsx/drawing/d_lbls.rb2
-rw-r--r--lib/axlsx/drawing/drawing.rb2
-rw-r--r--lib/axlsx/drawing/graphic_frame.rb2
-rw-r--r--lib/axlsx/drawing/hyperlink.rb2
-rw-r--r--lib/axlsx/drawing/line_3D_chart.rb2
-rw-r--r--lib/axlsx/drawing/line_chart.rb2
-rw-r--r--lib/axlsx/drawing/line_series.rb2
-rw-r--r--lib/axlsx/drawing/marker.rb2
-rw-r--r--lib/axlsx/drawing/num_data.rb2
-rw-r--r--lib/axlsx/drawing/num_data_source.rb2
-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/picture_locking.rb2
-rw-r--r--lib/axlsx/drawing/pie_3D_chart.rb2
-rw-r--r--lib/axlsx/drawing/pie_series.rb2
-rw-r--r--lib/axlsx/drawing/scaling.rb2
-rw-r--r--lib/axlsx/drawing/scatter_chart.rb2
-rw-r--r--lib/axlsx/drawing/scatter_series.rb2
-rw-r--r--lib/axlsx/drawing/ser_axis.rb2
-rw-r--r--lib/axlsx/drawing/series.rb2
-rw-r--r--lib/axlsx/drawing/series_title.rb2
-rw-r--r--lib/axlsx/drawing/str_data.rb2
-rw-r--r--lib/axlsx/drawing/str_val.rb2
-rw-r--r--lib/axlsx/drawing/title.rb2
-rw-r--r--lib/axlsx/drawing/two_cell_anchor.rb2
-rw-r--r--lib/axlsx/drawing/val_axis.rb2
-rw-r--r--lib/axlsx/drawing/view_3D.rb2
-rw-r--r--lib/axlsx/drawing/vml_drawing.rb2
-rw-r--r--lib/axlsx/drawing/vml_shape.rb2
-rw-r--r--lib/axlsx/package.rb2
-rw-r--r--lib/axlsx/rels/relationship.rb2
-rw-r--r--lib/axlsx/rels/relationships.rb2
-rw-r--r--lib/axlsx/stylesheet/border.rb2
-rw-r--r--lib/axlsx/stylesheet/border_pr.rb2
-rw-r--r--lib/axlsx/stylesheet/cell_alignment.rb2
-rw-r--r--lib/axlsx/stylesheet/cell_protection.rb2
-rw-r--r--lib/axlsx/stylesheet/cell_style.rb2
-rw-r--r--lib/axlsx/stylesheet/color.rb2
-rw-r--r--lib/axlsx/stylesheet/dxf.rb2
-rw-r--r--lib/axlsx/stylesheet/fill.rb2
-rw-r--r--lib/axlsx/stylesheet/font.rb2
-rw-r--r--lib/axlsx/stylesheet/gradient_fill.rb2
-rw-r--r--lib/axlsx/stylesheet/gradient_stop.rb2
-rw-r--r--lib/axlsx/stylesheet/num_fmt.rb2
-rw-r--r--lib/axlsx/stylesheet/pattern_fill.rb2
-rw-r--r--lib/axlsx/stylesheet/styles.rb2
-rw-r--r--lib/axlsx/stylesheet/table_style.rb2
-rw-r--r--lib/axlsx/stylesheet/table_style_element.rb2
-rw-r--r--lib/axlsx/stylesheet/table_styles.rb2
-rw-r--r--lib/axlsx/stylesheet/xf.rb2
-rw-r--r--lib/axlsx/util/accessors.rb4
-rw-r--r--lib/axlsx/util/constants.rb186
-rw-r--r--lib/axlsx/util/mime_type_utils.rb2
-rw-r--r--lib/axlsx/util/options_parser.rb2
-rw-r--r--lib/axlsx/util/serialized_attributes.rb2
-rw-r--r--lib/axlsx/util/simple_typed_list.rb2
-rw-r--r--lib/axlsx/util/storage.rb4
-rw-r--r--lib/axlsx/util/validators.rb2
-rw-r--r--lib/axlsx/util/zip_command.rb2
-rw-r--r--lib/axlsx/version.rb2
-rw-r--r--lib/axlsx/workbook/defined_name.rb2
-rw-r--r--lib/axlsx/workbook/defined_names.rb2
-rw-r--r--lib/axlsx/workbook/shared_strings_table.rb2
-rw-r--r--lib/axlsx/workbook/workbook.rb2
-rw-r--r--lib/axlsx/workbook/workbook_view.rb2
-rw-r--r--lib/axlsx/workbook/workbook_views.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/auto_filter/filters.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/border_creator.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/break.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/cell.rb8
-rw-r--r--lib/axlsx/workbook/worksheet/cell_serializer.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/cfvo.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/cfvos.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/col.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/col_breaks.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/color_scale.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/cols.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/comment.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/comments.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/conditional_formatting.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/conditional_formattings.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/data_bar.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/data_validation.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/data_validations.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/date_time_converter.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/dimension.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/header_footer.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/icon_set.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/merged_cells.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/outline_pr.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/page_margins.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/page_set_up_pr.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/page_setup.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/pane.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/pivot_table.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/pivot_tables.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/print_options.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/protected_range.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/protected_ranges.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/rich_text.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/rich_text_run.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/row.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/row_breaks.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/selection.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_calc_pr.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_data.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_format_pr.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_pr.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_protection.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/sheet_view.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/table.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/table_style_info.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/tables.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet_comments.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet_drawing.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb2
-rw-r--r--lib/caxlsx.rb2
-rwxr-xr-xtest/benchmark.rb1
-rw-r--r--test/content_type/tc_content_type.rb2
-rw-r--r--test/content_type/tc_default.rb2
-rw-r--r--test/content_type/tc_override.rb2
-rw-r--r--test/doc_props/tc_app.rb2
-rw-r--r--test/doc_props/tc_core.rb2
-rw-r--r--test/drawing/tc_area_chart.rb2
-rw-r--r--test/drawing/tc_area_series.rb2
-rw-r--r--test/drawing/tc_axes.rb2
-rw-r--r--test/drawing/tc_axis.rb2
-rw-r--r--test/drawing/tc_bar_3D_chart.rb2
-rw-r--r--test/drawing/tc_bar_chart.rb2
-rw-r--r--test/drawing/tc_bar_series.rb2
-rw-r--r--test/drawing/tc_bubble_chart.rb2
-rw-r--r--test/drawing/tc_bubble_series.rb2
-rw-r--r--test/drawing/tc_cat_axis.rb2
-rw-r--r--test/drawing/tc_cat_axis_data.rb1
-rw-r--r--test/drawing/tc_chart.rb2
-rw-r--r--test/drawing/tc_d_lbls.rb2
-rw-r--r--test/drawing/tc_data_source.rb2
-rw-r--r--test/drawing/tc_drawing.rb2
-rw-r--r--test/drawing/tc_graphic_frame.rb2
-rw-r--r--test/drawing/tc_hyperlink.rb2
-rw-r--r--test/drawing/tc_line_3d_chart.rb2
-rw-r--r--test/drawing/tc_line_chart.rb2
-rw-r--r--test/drawing/tc_line_series.rb2
-rw-r--r--test/drawing/tc_marker.rb2
-rw-r--r--test/drawing/tc_named_axis_data.rb1
-rw-r--r--test/drawing/tc_num_data.rb2
-rw-r--r--test/drawing/tc_num_val.rb2
-rw-r--r--test/drawing/tc_one_cell_anchor.rb2
-rw-r--r--test/drawing/tc_pic.rb2
-rw-r--r--test/drawing/tc_picture_locking.rb2
-rw-r--r--test/drawing/tc_pie_3D_chart.rb2
-rw-r--r--test/drawing/tc_pie_series.rb2
-rw-r--r--test/drawing/tc_scaling.rb2
-rw-r--r--test/drawing/tc_scatter_chart.rb2
-rw-r--r--test/drawing/tc_scatter_series.rb2
-rw-r--r--test/drawing/tc_ser_axis.rb2
-rw-r--r--test/drawing/tc_series.rb2
-rw-r--r--test/drawing/tc_series_title.rb2
-rw-r--r--test/drawing/tc_str_data.rb2
-rw-r--r--test/drawing/tc_str_val.rb2
-rw-r--r--test/drawing/tc_title.rb2
-rw-r--r--test/drawing/tc_two_cell_anchor.rb2
-rw-r--r--test/drawing/tc_val_axis.rb2
-rw-r--r--test/drawing/tc_view_3D.rb2
-rw-r--r--test/drawing/tc_vml_drawing.rb2
-rw-r--r--test/drawing/tc_vml_shape.rb2
-rwxr-xr-xtest/profile.rb1
-rw-r--r--test/rels/tc_relationship.rb2
-rw-r--r--test/rels/tc_relationships.rb2
-rw-r--r--test/stylesheet/tc_border.rb2
-rw-r--r--test/stylesheet/tc_border_pr.rb2
-rw-r--r--test/stylesheet/tc_cell_alignment.rb2
-rw-r--r--test/stylesheet/tc_cell_protection.rb2
-rw-r--r--test/stylesheet/tc_cell_style.rb2
-rw-r--r--test/stylesheet/tc_color.rb2
-rw-r--r--test/stylesheet/tc_dxf.rb2
-rw-r--r--test/stylesheet/tc_fill.rb2
-rw-r--r--test/stylesheet/tc_font.rb2
-rw-r--r--test/stylesheet/tc_gradient_fill.rb2
-rw-r--r--test/stylesheet/tc_gradient_stop.rb2
-rw-r--r--test/stylesheet/tc_num_fmt.rb2
-rw-r--r--test/stylesheet/tc_pattern_fill.rb2
-rw-r--r--test/stylesheet/tc_styles.rb2
-rw-r--r--test/stylesheet/tc_table_style.rb2
-rw-r--r--test/stylesheet/tc_table_style_element.rb2
-rw-r--r--test/stylesheet/tc_table_styles.rb2
-rw-r--r--test/stylesheet/tc_xf.rb2
-rw-r--r--test/support/capture_warnings.rb2
-rw-r--r--test/tc_axlsx.rb4
-rw-r--r--test/tc_helper.rb2
-rw-r--r--test/tc_package.rb2
-rw-r--r--test/util/tc_mime_type_utils.rb2
-rw-r--r--test/util/tc_serialized_attributes.rb2
-rw-r--r--test/util/tc_simple_typed_list.rb2
-rw-r--r--test/util/tc_validators.rb2
-rw-r--r--test/workbook/tc_defined_name.rb2
-rw-r--r--test/workbook/tc_shared_strings_table.rb2
-rw-r--r--test/workbook/tc_workbook.rb2
-rw-r--r--test/workbook/tc_workbook_view.rb2
-rw-r--r--test/workbook/worksheet/auto_filter/tc_auto_filter.rb2
-rw-r--r--test/workbook/worksheet/auto_filter/tc_filter_column.rb2
-rw-r--r--test/workbook/worksheet/auto_filter/tc_filters.rb2
-rw-r--r--test/workbook/worksheet/tc_border_creator.rb2
-rw-r--r--test/workbook/worksheet/tc_break.rb2
-rw-r--r--test/workbook/worksheet/tc_cell.rb2
-rw-r--r--test/workbook/worksheet/tc_cfvo.rb2
-rw-r--r--test/workbook/worksheet/tc_col.rb2
-rw-r--r--test/workbook/worksheet/tc_color_scale.rb2
-rw-r--r--test/workbook/worksheet/tc_comment.rb2
-rw-r--r--test/workbook/worksheet/tc_comments.rb2
-rw-r--r--test/workbook/worksheet/tc_conditional_formatting.rb2
-rw-r--r--test/workbook/worksheet/tc_data_bar.rb2
-rw-r--r--test/workbook/worksheet/tc_data_validation.rb2
-rw-r--r--test/workbook/worksheet/tc_date_time_converter.rb2
-rw-r--r--test/workbook/worksheet/tc_header_footer.rb2
-rw-r--r--test/workbook/worksheet/tc_icon_set.rb2
-rw-r--r--test/workbook/worksheet/tc_outline_pr.rb2
-rw-r--r--test/workbook/worksheet/tc_page_margins.rb2
-rw-r--r--test/workbook/worksheet/tc_page_set_up_pr.rb2
-rw-r--r--test/workbook/worksheet/tc_page_setup.rb2
-rw-r--r--test/workbook/worksheet/tc_pane.rb2
-rw-r--r--test/workbook/worksheet/tc_pivot_table.rb2
-rw-r--r--test/workbook/worksheet/tc_pivot_table_cache_definition.rb2
-rw-r--r--test/workbook/worksheet/tc_print_options.rb2
-rw-r--r--test/workbook/worksheet/tc_protected_range.rb2
-rw-r--r--test/workbook/worksheet/tc_rich_text.rb2
-rw-r--r--test/workbook/worksheet/tc_rich_text_run.rb2
-rw-r--r--test/workbook/worksheet/tc_row.rb2
-rw-r--r--test/workbook/worksheet/tc_selection.rb2
-rw-r--r--test/workbook/worksheet/tc_sheet_calc_pr.rb2
-rw-r--r--test/workbook/worksheet/tc_sheet_format_pr.rb2
-rw-r--r--test/workbook/worksheet/tc_sheet_pr.rb2
-rw-r--r--test/workbook/worksheet/tc_sheet_protection.rb2
-rw-r--r--test/workbook/worksheet/tc_sheet_view.rb2
-rw-r--r--test/workbook/worksheet/tc_table.rb2
-rw-r--r--test/workbook/worksheet/tc_table_style_info.rb2
-rw-r--r--test/workbook/worksheet/tc_worksheet.rb2
-rw-r--r--test/workbook/worksheet/tc_worksheet_hyperlink.rb2
268 files changed, 628 insertions, 104 deletions
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 0ec0a44a..217c0d9c 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -272,12 +272,6 @@ Style/FormatString:
Style/FormatStringToken:
EnforcedStyle: unannotated
-# This cop supports unsafe autocorrection (--autocorrect-all).
-# Configuration parameters: EnforcedStyle.
-# SupportedStyles: always, always_true, never
-Style/FrozenStringLiteralComment:
- Enabled: false
-
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause:
diff --git a/Gemfile b/Gemfile
index 734b9087..45758bcc 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
source 'https://rubygems.org'
gemspec
diff --git a/Rakefile b/Rakefile
index dd31d33d..ccba7692 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require File.expand_path(File.dirname(__FILE__) + '/lib/axlsx/version.rb')
task :build => :gendoc do
diff --git a/axlsx.gemspec b/axlsx.gemspec
index a15f4129..34942176 100644
--- a/axlsx.gemspec
+++ b/axlsx.gemspec
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require File.expand_path('../lib/axlsx/version', __FILE__)
Gem::Specification.new do |s|
diff --git a/lib/axlsx.rb b/lib/axlsx.rb
index 0fd8260c..e21efb07 100644
--- a/lib/axlsx.rb
+++ b/lib/axlsx.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'htmlentities'
require 'axlsx/version.rb'
require 'marcel'
diff --git a/lib/axlsx/content_type/abstract_content_type.rb b/lib/axlsx/content_type/abstract_content_type.rb
index 45bd4853..dfb7dd91 100644
--- a/lib/axlsx/content_type/abstract_content_type.rb
+++ b/lib/axlsx/content_type/abstract_content_type.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class extracts the common parts from Default and Override
class AbstractContentType
diff --git a/lib/axlsx/content_type/content_type.rb b/lib/axlsx/content_type/content_type.rb
index 48b5b6a9..ead50713 100644
--- a/lib/axlsx/content_type/content_type.rb
+++ b/lib/axlsx/content_type/content_type.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
require 'axlsx/content_type/abstract_content_type.rb'
require 'axlsx/content_type/default.rb'
diff --git a/lib/axlsx/content_type/default.rb b/lib/axlsx/content_type/default.rb
index d5901456..ad215070 100644
--- a/lib/axlsx/content_type/default.rb
+++ b/lib/axlsx/content_type/default.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# An default content part. These parts are automatically created by for you based on the content of your package.
class Default < AbstractContentType
diff --git a/lib/axlsx/content_type/override.rb b/lib/axlsx/content_type/override.rb
index 5fb98d4c..fd98a803 100644
--- a/lib/axlsx/content_type/override.rb
+++ b/lib/axlsx/content_type/override.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# An override content part. These parts are automatically created by for you based on the content of your package.
class Override < AbstractContentType
diff --git a/lib/axlsx/doc_props/app.rb b/lib/axlsx/doc_props/app.rb
index 965b34dc..fec0a899 100644
--- a/lib/axlsx/doc_props/app.rb
+++ b/lib/axlsx/doc_props/app.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# App represents the app.xml document. The attributes for this object are primarily managed by the application the end user uses to edit the document. None of the attributes are required to serialize a valid xlsx object.
# @see shared-documentPropertiesExtended.xsd
diff --git a/lib/axlsx/doc_props/core.rb b/lib/axlsx/doc_props/core.rb
index 0f3b6333..e7e53246 100644
--- a/lib/axlsx/doc_props/core.rb
+++ b/lib/axlsx/doc_props/core.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The core object for the package.
# @note Packages manage their own core object.
diff --git a/lib/axlsx/drawing/area_chart.rb b/lib/axlsx/drawing/area_chart.rb
index 0c5193c6..9b948808 100644
--- a/lib/axlsx/drawing/area_chart.rb
+++ b/lib/axlsx/drawing/area_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The AreaChart is a two dimentional line chart (who would have guessed?) that you can add to your worksheet.
# @example Creating a chart
diff --git a/lib/axlsx/drawing/area_series.rb b/lib/axlsx/drawing/area_series.rb
index 7995c5bc..55c391d9 100644
--- a/lib/axlsx/drawing/area_series.rb
+++ b/lib/axlsx/drawing/area_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A AreaSeries defines the title, data and labels for line charts
# @note The recommended way to manage series is to use Chart#add_series
diff --git a/lib/axlsx/drawing/ax_data_source.rb b/lib/axlsx/drawing/ax_data_source.rb
index b8aafc5e..c9d4300f 100644
--- a/lib/axlsx/drawing/ax_data_source.rb
+++ b/lib/axlsx/drawing/ax_data_source.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# An axis data source that can contain referenced or literal strings or numbers
# @note only string data types are supported - mainly because we have not implemented a chart type that requires a numerical axis value
diff --git a/lib/axlsx/drawing/axes.rb b/lib/axlsx/drawing/axes.rb
index 314f28c3..c84b4378 100644
--- a/lib/axlsx/drawing/axes.rb
+++ b/lib/axlsx/drawing/axes.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Axes class creates and manages axis information and
# serialization for charts.
diff --git a/lib/axlsx/drawing/axis.rb b/lib/axlsx/drawing/axis.rb
index 601a7c85..6ee2b9f4 100644
--- a/lib/axlsx/drawing/axis.rb
+++ b/lib/axlsx/drawing/axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# the access class defines common properties and values for a chart axis.
class Axis
diff --git a/lib/axlsx/drawing/bar_3D_chart.rb b/lib/axlsx/drawing/bar_3D_chart.rb
index 89544be0..0ba55eb2 100644
--- a/lib/axlsx/drawing/bar_3D_chart.rb
+++ b/lib/axlsx/drawing/bar_3D_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Bar3DChart is a three dimentional barchart (who would have guessed?) that you can add to your worksheet.
# @see Worksheet#add_chart
diff --git a/lib/axlsx/drawing/bar_chart.rb b/lib/axlsx/drawing/bar_chart.rb
index 1ed38332..c3240f32 100644
--- a/lib/axlsx/drawing/bar_chart.rb
+++ b/lib/axlsx/drawing/bar_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The BarChart is a two dimentional barchart that you can add to your worksheet.
# @see Worksheet#add_chart
diff --git a/lib/axlsx/drawing/bar_series.rb b/lib/axlsx/drawing/bar_series.rb
index 0b4d9614..86ca4e88 100644
--- a/lib/axlsx/drawing/bar_series.rb
+++ b/lib/axlsx/drawing/bar_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A BarSeries defines the title, data and labels for bar charts
# @note The recommended way to manage series is to use Chart#add_series
diff --git a/lib/axlsx/drawing/bubble_chart.rb b/lib/axlsx/drawing/bubble_chart.rb
index 084d0477..73b74035 100644
--- a/lib/axlsx/drawing/bubble_chart.rb
+++ b/lib/axlsx/drawing/bubble_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The BubbleChart allows you to insert a bubble chart into your worksheet
# @see Worksheet#add_chart
diff --git a/lib/axlsx/drawing/bubble_series.rb b/lib/axlsx/drawing/bubble_series.rb
index 78b44bf1..e44a3fd8 100644
--- a/lib/axlsx/drawing/bubble_series.rb
+++ b/lib/axlsx/drawing/bubble_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A BubbleSeries defines the x/y position and bubble size of data in the chart
# @note The recommended way to manage series is to use Chart#add_series
diff --git a/lib/axlsx/drawing/cat_axis.rb b/lib/axlsx/drawing/cat_axis.rb
index 75290da0..23568d6f 100644
--- a/lib/axlsx/drawing/cat_axis.rb
+++ b/lib/axlsx/drawing/cat_axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A CatAxis object defines a chart category axis
class CatAxis < Axis
diff --git a/lib/axlsx/drawing/chart.rb b/lib/axlsx/drawing/chart.rb
index 0c68ff4b..636c1713 100644
--- a/lib/axlsx/drawing/chart.rb
+++ b/lib/axlsx/drawing/chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A Chart is the superclass for specific charts
# @note Worksheet#add_chart is the recommended way to create charts for your worksheets.
diff --git a/lib/axlsx/drawing/d_lbls.rb b/lib/axlsx/drawing/d_lbls.rb
index 358378c5..cdccf327 100644
--- a/lib/axlsx/drawing/d_lbls.rb
+++ b/lib/axlsx/drawing/d_lbls.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# There are more elements in the dLbls spec that allow for
# customizations and formatting. For now, I am just implementing the
diff --git a/lib/axlsx/drawing/drawing.rb b/lib/axlsx/drawing/drawing.rb
index bc6dd1cf..d36e4349 100644
--- a/lib/axlsx/drawing/drawing.rb
+++ b/lib/axlsx/drawing/drawing.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
require 'axlsx/drawing/d_lbls.rb'
require 'axlsx/drawing/title.rb'
diff --git a/lib/axlsx/drawing/graphic_frame.rb b/lib/axlsx/drawing/graphic_frame.rb
index 006b3b0f..e245b9ab 100644
--- a/lib/axlsx/drawing/graphic_frame.rb
+++ b/lib/axlsx/drawing/graphic_frame.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A graphic frame defines a container for a chart object
# @note The recommended way to manage charts is Worksheet#add_chart
diff --git a/lib/axlsx/drawing/hyperlink.rb b/lib/axlsx/drawing/hyperlink.rb
index 4d3b343d..1fd7fdd4 100644
--- a/lib/axlsx/drawing/hyperlink.rb
+++ b/lib/axlsx/drawing/hyperlink.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# a hyperlink object adds an action to an image when clicked so that when the image is clicked the link is fecthed.
# @note using the hyperlink option when calling add_image on a drawing object is the recommended way to manage hyperlinks
diff --git a/lib/axlsx/drawing/line_3D_chart.rb b/lib/axlsx/drawing/line_3D_chart.rb
index 85d04b06..51beaa70 100644
--- a/lib/axlsx/drawing/line_3D_chart.rb
+++ b/lib/axlsx/drawing/line_3D_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Line3DChart is a three dimentional line chart (who would have guessed?) that you can add to your worksheet.
# @example Creating a chart
diff --git a/lib/axlsx/drawing/line_chart.rb b/lib/axlsx/drawing/line_chart.rb
index 1ff2bde5..87757dbb 100644
--- a/lib/axlsx/drawing/line_chart.rb
+++ b/lib/axlsx/drawing/line_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The LineChart is a two dimentional line chart (who would have guessed?) that you can add to your worksheet.
# @example Creating a chart
diff --git a/lib/axlsx/drawing/line_series.rb b/lib/axlsx/drawing/line_series.rb
index 18719277..b1e36bbe 100644
--- a/lib/axlsx/drawing/line_series.rb
+++ b/lib/axlsx/drawing/line_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A LineSeries defines the title, data and labels for line charts
# @note The recommended way to manage series is to use Chart#add_series
diff --git a/lib/axlsx/drawing/marker.rb b/lib/axlsx/drawing/marker.rb
index a4933c33..0e728fc6 100644
--- a/lib/axlsx/drawing/marker.rb
+++ b/lib/axlsx/drawing/marker.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Marker class defines a point in the worksheet that drawing anchors attach to.
# @note The recommended way to manage markers is Worksheet#add_chart Markers are created for a two cell anchor based on the :start and :end options.
diff --git a/lib/axlsx/drawing/num_data.rb b/lib/axlsx/drawing/num_data.rb
index 7239ac5f..5c4e832f 100644
--- a/lib/axlsx/drawing/num_data.rb
+++ b/lib/axlsx/drawing/num_data.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class specifies data for a particular data point. It is used for both numCache and numLit object
class NumData
diff --git a/lib/axlsx/drawing/num_data_source.rb b/lib/axlsx/drawing/num_data_source.rb
index 46f6ba71..0159a9d6 100644
--- a/lib/axlsx/drawing/num_data_source.rb
+++ b/lib/axlsx/drawing/num_data_source.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A numeric data source for use by charts.
class NumDataSource
diff --git a/lib/axlsx/drawing/num_val.rb b/lib/axlsx/drawing/num_val.rb
index f4b2c399..3ec9f87b 100644
--- a/lib/axlsx/drawing/num_val.rb
+++ b/lib/axlsx/drawing/num_val.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class specifies data for a particular data point.
class NumVal < StrVal
diff --git a/lib/axlsx/drawing/one_cell_anchor.rb b/lib/axlsx/drawing/one_cell_anchor.rb
index 52cf2244..d9999be5 100644
--- a/lib/axlsx/drawing/one_cell_anchor.rb
+++ b/lib/axlsx/drawing/one_cell_anchor.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class details a single cell anchor for drawings.
# @note The recommended way to manage drawings, images and charts is Worksheet#add_chart or Worksheet#add_image.
diff --git a/lib/axlsx/drawing/pic.rb b/lib/axlsx/drawing/pic.rb
index e31876bf..1f37cd0f 100644
--- a/lib/axlsx/drawing/pic.rb
+++ b/lib/axlsx/drawing/pic.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# a Pic object represents an image in your worksheet
# Worksheet#add_image is the recommended way to manage images in your sheets
diff --git a/lib/axlsx/drawing/picture_locking.rb b/lib/axlsx/drawing/picture_locking.rb
index efd85f97..08ac4527 100644
--- a/lib/axlsx/drawing/picture_locking.rb
+++ b/lib/axlsx/drawing/picture_locking.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The picture locking class defines the locking properties for pictures in your workbook.
class PictureLocking
diff --git a/lib/axlsx/drawing/pie_3D_chart.rb b/lib/axlsx/drawing/pie_3D_chart.rb
index 1772c537..be6e3ba7 100644
--- a/lib/axlsx/drawing/pie_3D_chart.rb
+++ b/lib/axlsx/drawing/pie_3D_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Pie3DChart is a three dimentional piechart (who would have guessed?) that you can add to your worksheet.
# @see Worksheet#add_chart
diff --git a/lib/axlsx/drawing/pie_series.rb b/lib/axlsx/drawing/pie_series.rb
index 29b71e36..9cc50aa2 100644
--- a/lib/axlsx/drawing/pie_series.rb
+++ b/lib/axlsx/drawing/pie_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A PieSeries defines the data and labels and explosion for pie charts series.
# @note The recommended way to manage series is to use Chart#add_series
diff --git a/lib/axlsx/drawing/scaling.rb b/lib/axlsx/drawing/scaling.rb
index 8d2d8ed7..4443f880 100644
--- a/lib/axlsx/drawing/scaling.rb
+++ b/lib/axlsx/drawing/scaling.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Scaling class defines axis scaling
class Scaling
diff --git a/lib/axlsx/drawing/scatter_chart.rb b/lib/axlsx/drawing/scatter_chart.rb
index b118a09a..37d528ec 100644
--- a/lib/axlsx/drawing/scatter_chart.rb
+++ b/lib/axlsx/drawing/scatter_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The ScatterChart allows you to insert a scatter chart into your worksheet
# @see Worksheet#add_chart
diff --git a/lib/axlsx/drawing/scatter_series.rb b/lib/axlsx/drawing/scatter_series.rb
index e4e1f27a..9ea9b8a7 100644
--- a/lib/axlsx/drawing/scatter_series.rb
+++ b/lib/axlsx/drawing/scatter_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A ScatterSeries defines the x and y position of data in the chart
# @note The recommended way to manage series is to use Chart#add_series
diff --git a/lib/axlsx/drawing/ser_axis.rb b/lib/axlsx/drawing/ser_axis.rb
index f49c1301..4834c355 100644
--- a/lib/axlsx/drawing/ser_axis.rb
+++ b/lib/axlsx/drawing/ser_axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A SerAxis object defines a series axis
class SerAxis < Axis
diff --git a/lib/axlsx/drawing/series.rb b/lib/axlsx/drawing/series.rb
index 86b85f4c..17c5d24e 100644
--- a/lib/axlsx/drawing/series.rb
+++ b/lib/axlsx/drawing/series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A Series defines the common series attributes and is the super class for all concrete series types.
# @note The recommended way to manage series is to use Chart#add_series
diff --git a/lib/axlsx/drawing/series_title.rb b/lib/axlsx/drawing/series_title.rb
index f18be178..124e30a0 100644
--- a/lib/axlsx/drawing/series_title.rb
+++ b/lib/axlsx/drawing/series_title.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A series title is a Title with a slightly different serialization than chart titles.
class SeriesTitle < Title
diff --git a/lib/axlsx/drawing/str_data.rb b/lib/axlsx/drawing/str_data.rb
index 5ea8a892..ab1c25ad 100644
--- a/lib/axlsx/drawing/str_data.rb
+++ b/lib/axlsx/drawing/str_data.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This specifies the last string data used for a chart. (e.g. strLit and strCache)
# This class is extended for NumData to include the formatCode attribute required for numLit and numCache
diff --git a/lib/axlsx/drawing/str_val.rb b/lib/axlsx/drawing/str_val.rb
index e5c851ee..f6d36d41 100644
--- a/lib/axlsx/drawing/str_val.rb
+++ b/lib/axlsx/drawing/str_val.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class specifies data for a particular data point.
class StrVal
diff --git a/lib/axlsx/drawing/title.rb b/lib/axlsx/drawing/title.rb
index 92294a06..9fd90d29 100644
--- a/lib/axlsx/drawing/title.rb
+++ b/lib/axlsx/drawing/title.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A Title stores information about the title of a chart
class Title
diff --git a/lib/axlsx/drawing/two_cell_anchor.rb b/lib/axlsx/drawing/two_cell_anchor.rb
index 7b77de13..7b01ae13 100644
--- a/lib/axlsx/drawing/two_cell_anchor.rb
+++ b/lib/axlsx/drawing/two_cell_anchor.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class details the anchor points for drawings.
# @note The recommended way to manage drawings and charts is Worksheet#add_chart. Anchors are specified by the :start_at and :end_at options to that method.
diff --git a/lib/axlsx/drawing/val_axis.rb b/lib/axlsx/drawing/val_axis.rb
index 8cd131cc..8ebdcc92 100644
--- a/lib/axlsx/drawing/val_axis.rb
+++ b/lib/axlsx/drawing/val_axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# the ValAxis class defines a chart value axis.
class ValAxis < Axis
diff --git a/lib/axlsx/drawing/view_3D.rb b/lib/axlsx/drawing/view_3D.rb
index ff26deb9..a414b46a 100644
--- a/lib/axlsx/drawing/view_3D.rb
+++ b/lib/axlsx/drawing/view_3D.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# 3D attributes for a chart.
class View3D
diff --git a/lib/axlsx/drawing/vml_drawing.rb b/lib/axlsx/drawing/vml_drawing.rb
index 4e9c5b0d..0805421e 100644
--- a/lib/axlsx/drawing/vml_drawing.rb
+++ b/lib/axlsx/drawing/vml_drawing.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# a vml drawing used for comments in excel.
class VmlDrawing
diff --git a/lib/axlsx/drawing/vml_shape.rb b/lib/axlsx/drawing/vml_shape.rb
index fd335d95..4db280f3 100644
--- a/lib/axlsx/drawing/vml_shape.rb
+++ b/lib/axlsx/drawing/vml_shape.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A VmlShape is used to position and render a comment.
class VmlShape
diff --git a/lib/axlsx/package.rb b/lib/axlsx/package.rb
index f22ad2ac..dd0432cd 100644
--- a/lib/axlsx/package.rb
+++ b/lib/axlsx/package.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Package is responsible for managing all the bits and peices that Open Office XML requires to make a valid
# xlsx document including validation and serialization.
diff --git a/lib/axlsx/rels/relationship.rb b/lib/axlsx/rels/relationship.rb
index aff9fa55..3f296b82 100644
--- a/lib/axlsx/rels/relationship.rb
+++ b/lib/axlsx/rels/relationship.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A relationship defines a reference between package parts.
# @note Packages automatically manage relationships.
diff --git a/lib/axlsx/rels/relationships.rb b/lib/axlsx/rels/relationships.rb
index 71c4bf1e..64126ed7 100644
--- a/lib/axlsx/rels/relationships.rb
+++ b/lib/axlsx/rels/relationships.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
require 'axlsx/rels/relationship.rb'
diff --git a/lib/axlsx/stylesheet/border.rb b/lib/axlsx/stylesheet/border.rb
index af564b22..ed172ba8 100644
--- a/lib/axlsx/stylesheet/border.rb
+++ b/lib/axlsx/stylesheet/border.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class details a border used in Office Open XML spreadsheet styles.
class Border
diff --git a/lib/axlsx/stylesheet/border_pr.rb b/lib/axlsx/stylesheet/border_pr.rb
index 3f1054f2..8c1d2ede 100644
--- a/lib/axlsx/stylesheet/border_pr.rb
+++ b/lib/axlsx/stylesheet/border_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A border part.
class BorderPr
diff --git a/lib/axlsx/stylesheet/cell_alignment.rb b/lib/axlsx/stylesheet/cell_alignment.rb
index 906c7870..c5eb383e 100644
--- a/lib/axlsx/stylesheet/cell_alignment.rb
+++ b/lib/axlsx/stylesheet/cell_alignment.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# CellAlignment stores information about the cell alignment of a style Xf Object.
# @note Using Styles#add_style is the recommended way to manage cell alignment.
diff --git a/lib/axlsx/stylesheet/cell_protection.rb b/lib/axlsx/stylesheet/cell_protection.rb
index f040f207..3c75d509 100644
--- a/lib/axlsx/stylesheet/cell_protection.rb
+++ b/lib/axlsx/stylesheet/cell_protection.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# CellProtection stores information about locking or hiding cells in spreadsheet.
# @note Using Styles#add_style is the recommended way to manage cell protection.
diff --git a/lib/axlsx/stylesheet/cell_style.rb b/lib/axlsx/stylesheet/cell_style.rb
index 20f88133..3d198afd 100644
--- a/lib/axlsx/stylesheet/cell_style.rb
+++ b/lib/axlsx/stylesheet/cell_style.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# CellStyle defines named styles that reference defined formatting records and can be used in your worksheet.
# @note Using Styles#add_style is the recommended way to manage cell styling.
diff --git a/lib/axlsx/stylesheet/color.rb b/lib/axlsx/stylesheet/color.rb
index d6d204bf..a1743cb2 100644
--- a/lib/axlsx/stylesheet/color.rb
+++ b/lib/axlsx/stylesheet/color.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The color class represents a color used for borders, fills an fonts
class Color
diff --git a/lib/axlsx/stylesheet/dxf.rb b/lib/axlsx/stylesheet/dxf.rb
index 516894df..0bbae6ca 100644
--- a/lib/axlsx/stylesheet/dxf.rb
+++ b/lib/axlsx/stylesheet/dxf.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Dxf class defines an incremental formatting record for use in Styles. The recommended way to manage styles for your workbook is with Styles#add_style
# @see Styles#add_style
diff --git a/lib/axlsx/stylesheet/fill.rb b/lib/axlsx/stylesheet/fill.rb
index aeff4867..e6561e26 100644
--- a/lib/axlsx/stylesheet/fill.rb
+++ b/lib/axlsx/stylesheet/fill.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Fill is a formatting object that manages the background color, and pattern for cells.
# @note The recommended way to manage styles in your workbook is to use Styles#add_style.
diff --git a/lib/axlsx/stylesheet/font.rb b/lib/axlsx/stylesheet/font.rb
index 0f432d58..920f6f97 100644
--- a/lib/axlsx/stylesheet/font.rb
+++ b/lib/axlsx/stylesheet/font.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Font class details a font instance for use in styling cells.
# @note The recommended way to manage fonts, and other styles is Styles#add_style
diff --git a/lib/axlsx/stylesheet/gradient_fill.rb b/lib/axlsx/stylesheet/gradient_fill.rb
index f90a15d6..1c58c12a 100644
--- a/lib/axlsx/stylesheet/gradient_fill.rb
+++ b/lib/axlsx/stylesheet/gradient_fill.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A GradientFill defines the color and positioning for gradiant cell fill.
# @see Open Office XML Part 1 §18.8.24
diff --git a/lib/axlsx/stylesheet/gradient_stop.rb b/lib/axlsx/stylesheet/gradient_stop.rb
index 2325ee66..fd53a41a 100644
--- a/lib/axlsx/stylesheet/gradient_stop.rb
+++ b/lib/axlsx/stylesheet/gradient_stop.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The GradientStop object represents a color point in a gradient.
# @see Open Office XML Part 1 §18.8.24
diff --git a/lib/axlsx/stylesheet/num_fmt.rb b/lib/axlsx/stylesheet/num_fmt.rb
index 388f0d59..1864fcf2 100644
--- a/lib/axlsx/stylesheet/num_fmt.rb
+++ b/lib/axlsx/stylesheet/num_fmt.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A NumFmt object defines an identifier and formatting code for data in cells.
# @note The recommended way to manage styles is Styles#add_style
diff --git a/lib/axlsx/stylesheet/pattern_fill.rb b/lib/axlsx/stylesheet/pattern_fill.rb
index 3ebd4ff6..5f89955d 100644
--- a/lib/axlsx/stylesheet/pattern_fill.rb
+++ b/lib/axlsx/stylesheet/pattern_fill.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A PatternFill is the pattern and solid fill styling for a cell.
# @note The recommended way to manage styles is with Styles#add_style
diff --git a/lib/axlsx/stylesheet/styles.rb b/lib/axlsx/stylesheet/styles.rb
index 3b462d37..3cbe8f75 100644
--- a/lib/axlsx/stylesheet/styles.rb
+++ b/lib/axlsx/stylesheet/styles.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
require 'axlsx/stylesheet/border.rb'
require 'axlsx/stylesheet/border_pr.rb'
diff --git a/lib/axlsx/stylesheet/table_style.rb b/lib/axlsx/stylesheet/table_style.rb
index f656ce3d..24c441ce 100644
--- a/lib/axlsx/stylesheet/table_style.rb
+++ b/lib/axlsx/stylesheet/table_style.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A single table style definition and is a collection for tableStyleElements
# @note Table are not supported in this version and only the defaults required for a valid workbook are created.
diff --git a/lib/axlsx/stylesheet/table_style_element.rb b/lib/axlsx/stylesheet/table_style_element.rb
index 845d6bac..c36ab838 100644
--- a/lib/axlsx/stylesheet/table_style_element.rb
+++ b/lib/axlsx/stylesheet/table_style_element.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# an element of style that belongs to a table style.
# @note tables and table styles are not supported in this version. This class exists in preparation for that support.
diff --git a/lib/axlsx/stylesheet/table_styles.rb b/lib/axlsx/stylesheet/table_styles.rb
index a55180a5..16cc7320 100644
--- a/lib/axlsx/stylesheet/table_styles.rb
+++ b/lib/axlsx/stylesheet/table_styles.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# TableStyles represents a collection of style definitions for table styles and pivot table styles.
# @note Support for custom table styles does not exist in this version. Many of the classes required are defined in preparation for future release. Please do not attempt to add custom table styles.
diff --git a/lib/axlsx/stylesheet/xf.rb b/lib/axlsx/stylesheet/xf.rb
index e58608f7..d42880e0 100644
--- a/lib/axlsx/stylesheet/xf.rb
+++ b/lib/axlsx/stylesheet/xf.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Xf class defines a formatting record for use in Styles. The recommended way to manage styles for your workbook is with Styles#add_style
# @see Styles#add_style
diff --git a/lib/axlsx/util/accessors.rb b/lib/axlsx/util/accessors.rb
index 8f481e37..d653e32f 100644
--- a/lib/axlsx/util/accessors.rb
+++ b/lib/axlsx/util/accessors.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This module defines some of the more common validating attribute
# accessors that we use in Axlsx
@@ -43,7 +45,7 @@ module Axlsx
end
# Template for defining validated write accessors
- SETTER = "def %s=(value) Axlsx::%s(value); @%s = value; end".freeze
+ SETTER = "def %s=(value) Axlsx::%s(value); @%s = value; end"
# Creates the reader and writer access methods
# @param [Array] symbols The names of the attributes to create
diff --git a/lib/axlsx/util/constants.rb b/lib/axlsx/util/constants.rb
index 55e2b58f..4697bb3a 100644
--- a/lib/axlsx/util/constants.rb
+++ b/lib/axlsx/util/constants.rb
@@ -1,240 +1,242 @@
+# frozen_string_literal: true
+
module Axlsx
# XML Encoding
- ENCODING = "UTF-8".freeze
+ ENCODING = "UTF-8"
# spreadsheetML namespace
- XML_NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main".freeze
+ XML_NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main"
# content-types namespace
- XML_NS_T = "http://schemas.openxmlformats.org/package/2006/content-types".freeze
+ XML_NS_T = "http://schemas.openxmlformats.org/package/2006/content-types"
# extended-properties namespace
- APP_NS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties".freeze
+ APP_NS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
# doc props namespace
- APP_NS_VT = "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes".freeze
+ APP_NS_VT = "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
# core properties namespace
- CORE_NS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties".freeze
+ CORE_NS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
# dc elements (core) namespace
- CORE_NS_DC = "http://purl.org/dc/elements/1.1/".freeze
+ CORE_NS_DC = "http://purl.org/dc/elements/1.1/"
# dcmit (core) namespcace
- CORE_NS_DCMIT = "http://purl.org/dc/dcmitype/".freeze
+ CORE_NS_DCMIT = "http://purl.org/dc/dcmitype/"
# dc terms namespace
- CORE_NS_DCT = "http://purl.org/dc/terms/".freeze
+ CORE_NS_DCT = "http://purl.org/dc/terms/"
# xml schema namespace
- CORE_NS_XSI = "http://www.w3.org/2001/XMLSchema-instance".freeze
+ CORE_NS_XSI = "http://www.w3.org/2001/XMLSchema-instance"
# Digital signature namespace
- DIGITAL_SIGNATURE_NS = "http://schemas.openxmlformats.org/package/2006/digital-signature".freeze
+ DIGITAL_SIGNATURE_NS = "http://schemas.openxmlformats.org/package/2006/digital-signature"
# spreadsheet drawing namespace
- XML_NS_XDR = "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing".freeze
+ XML_NS_XDR = "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
# drawing namespace
- XML_NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main".freeze
+ XML_NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main"
# chart namespace
- XML_NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart".freeze
+ XML_NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart"
# relationships namespace
- XML_NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships".freeze
+ XML_NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships"
# relationships name space
- RELS_R = "http://schemas.openxmlformats.org/package/2006/relationships".freeze
+ RELS_R = "http://schemas.openxmlformats.org/package/2006/relationships"
# table rels namespace
- TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table".freeze
+ TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table"
# pivot table rels namespace
- PIVOT_TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable".freeze
+ PIVOT_TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable"
# pivot table cache definition namespace
- PIVOT_TABLE_CACHE_DEFINITION_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition".freeze
+ PIVOT_TABLE_CACHE_DEFINITION_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition"
# workbook rels namespace
- WORKBOOK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument".freeze
+ WORKBOOK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
# worksheet rels namespace
- WORKSHEET_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet".freeze
+ WORKSHEET_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
# app rels namespace
- APP_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties".freeze
+ APP_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
# core rels namespace
- CORE_R = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties".freeze
+ CORE_R = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"
# digital signature rels namespace
- DIGITAL_SIGNATURE_R = "http://schemas.openxmlformats.org/package/2006/relationships/digital- signature/signature".freeze
+ DIGITAL_SIGNATURE_R = "http://schemas.openxmlformats.org/package/2006/relationships/digital- signature/signature"
# styles rels namespace
- STYLES_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles".freeze
+ STYLES_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
# shared strings namespace
- SHARED_STRINGS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings".freeze
+ SHARED_STRINGS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"
# drawing rels namespace
- DRAWING_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing".freeze
+ DRAWING_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"
# chart rels namespace
- CHART_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart".freeze
+ CHART_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"
# image rels namespace
- IMAGE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image".freeze
+ IMAGE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
# hyperlink rels namespace
- HYPERLINK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink".freeze
+ HYPERLINK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"
# comment rels namespace
- COMMENT_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments".freeze
+ COMMENT_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"
# comment relation for nil target
- COMMENT_R_NULL = "http://purl.oclc.org/ooxml/officeDocument/relationships/comments".freeze
+ COMMENT_R_NULL = "http://purl.oclc.org/ooxml/officeDocument/relationships/comments"
# vml drawing relation namespace
VML_DRAWING_R = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing'
# VML Drawing content type
- VML_DRAWING_CT = "application/vnd.openxmlformats-officedocument.vmlDrawing".freeze
+ VML_DRAWING_CT = "application/vnd.openxmlformats-officedocument.vmlDrawing"
# table content type
- TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml".freeze
+ TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"
# pivot table content type
- PIVOT_TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml".freeze
+ PIVOT_TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml"
# pivot table cache definition content type
- PIVOT_TABLE_CACHE_DEFINITION_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml".freeze
+ PIVOT_TABLE_CACHE_DEFINITION_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml"
# workbook content type
- WORKBOOK_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml".freeze
+ WORKBOOK_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"
# app content type
- APP_CT = "application/vnd.openxmlformats-officedocument.extended-properties+xml".freeze
+ APP_CT = "application/vnd.openxmlformats-officedocument.extended-properties+xml"
# rels content type
- RELS_CT = "application/vnd.openxmlformats-package.relationships+xml".freeze
+ RELS_CT = "application/vnd.openxmlformats-package.relationships+xml"
# styles content type
- STYLES_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml".freeze
+ STYLES_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"
# xml content type
- XML_CT = "application/xml".freeze
+ XML_CT = "application/xml"
# worksheet content type
- WORKSHEET_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml".freeze
+ WORKSHEET_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"
# shared strings content type
- SHARED_STRINGS_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml".freeze
+ SHARED_STRINGS_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"
# core content type
- CORE_CT = "application/vnd.openxmlformats-package.core-properties+xml".freeze
+ CORE_CT = "application/vnd.openxmlformats-package.core-properties+xml"
# digital signature xml content type
- DIGITAL_SIGNATURE_XML_CT = "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml".freeze
+ DIGITAL_SIGNATURE_XML_CT = "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml"
# digital signature origin content type
- DIGITAL_SIGNATURE_ORIGIN_CT = "application/vnd.openxmlformats-package.digital-signature-origin".freeze
+ DIGITAL_SIGNATURE_ORIGIN_CT = "application/vnd.openxmlformats-package.digital-signature-origin"
# digital signature certificate content type
- DIGITAL_SIGNATURE_CERTIFICATE_CT = "application/vnd.openxmlformats-package.digital-signature-certificate".freeze
+ DIGITAL_SIGNATURE_CERTIFICATE_CT = "application/vnd.openxmlformats-package.digital-signature-certificate"
# chart content type
- CHART_CT = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml".freeze
+ CHART_CT = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml"
# comments content type
- COMMENT_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml".freeze
+ COMMENT_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml"
# jpeg content type
- JPEG_CT = "image/jpeg".freeze
+ JPEG_CT = "image/jpeg"
# gif content type
- GIF_CT = "image/gif".freeze
+ GIF_CT = "image/gif"
# png content type
- PNG_CT = "image/png".freeze
+ PNG_CT = "image/png"
# drawing content type
- DRAWING_CT = "application/vnd.openxmlformats-officedocument.drawing+xml".freeze
+ DRAWING_CT = "application/vnd.openxmlformats-officedocument.drawing+xml"
# xml content type extensions
- XML_EX = "xml".freeze
+ XML_EX = "xml"
# jpeg extension
- JPEG_EX = "jpeg".freeze
+ JPEG_EX = "jpeg"
# gif extension
- GIF_EX = "gif".freeze
+ GIF_EX = "gif"
# png extension
- PNG_EX = "png".freeze
+ PNG_EX = "png"
# rels content type extension
- RELS_EX = "rels".freeze
+ RELS_EX = "rels"
# workbook part
- WORKBOOK_PN = "xl/workbook.xml".freeze
+ WORKBOOK_PN = "xl/workbook.xml"
# styles part
- STYLES_PN = "styles.xml".freeze
+ STYLES_PN = "styles.xml"
# shared_strings part
- SHARED_STRINGS_PN = "sharedStrings.xml".freeze
+ SHARED_STRINGS_PN = "sharedStrings.xml"
# app part
- APP_PN = "docProps/app.xml".freeze
+ APP_PN = "docProps/app.xml"
# core part
- CORE_PN = "docProps/core.xml".freeze
+ CORE_PN = "docProps/core.xml"
# content types part
- CONTENT_TYPES_PN = "[Content_Types].xml".freeze
+ CONTENT_TYPES_PN = "[Content_Types].xml"
# rels part
- RELS_PN = "_rels/.rels".freeze
+ RELS_PN = "_rels/.rels"
# workbook rels part
- WORKBOOK_RELS_PN = "xl/_rels/workbook.xml.rels".freeze
+ WORKBOOK_RELS_PN = "xl/_rels/workbook.xml.rels"
# worksheet part
- WORKSHEET_PN = "worksheets/sheet%d.xml".freeze
+ WORKSHEET_PN = "worksheets/sheet%d.xml"
# worksheet rels part
- WORKSHEET_RELS_PN = "worksheets/_rels/sheet%d.xml.rels".freeze
+ WORKSHEET_RELS_PN = "worksheets/_rels/sheet%d.xml.rels"
# drawing part
- DRAWING_PN = "drawings/drawing%d.xml".freeze
+ DRAWING_PN = "drawings/drawing%d.xml"
# drawing rels part
- DRAWING_RELS_PN = "drawings/_rels/drawing%d.xml.rels".freeze
+ DRAWING_RELS_PN = "drawings/_rels/drawing%d.xml.rels"
# vml drawing part
- VML_DRAWING_PN = "drawings/vmlDrawing%d.vml".freeze
+ VML_DRAWING_PN = "drawings/vmlDrawing%d.vml"
# drawing part
- TABLE_PN = "tables/table%d.xml".freeze
+ TABLE_PN = "tables/table%d.xml"
# pivot table parts
- PIVOT_TABLE_PN = "pivotTables/pivotTable%d.xml".freeze
+ PIVOT_TABLE_PN = "pivotTables/pivotTable%d.xml"
# pivot table cache definition part name
- PIVOT_TABLE_CACHE_DEFINITION_PN = "pivotCache/pivotCacheDefinition%d.xml".freeze
+ PIVOT_TABLE_CACHE_DEFINITION_PN = "pivotCache/pivotCacheDefinition%d.xml"
# pivot table rels parts
- PIVOT_TABLE_RELS_PN = "pivotTables/_rels/pivotTable%d.xml.rels".freeze
+ PIVOT_TABLE_RELS_PN = "pivotTables/_rels/pivotTable%d.xml.rels"
# chart part
- CHART_PN = "charts/chart%d.xml".freeze
+ CHART_PN = "charts/chart%d.xml"
# chart part
- IMAGE_PN = "media/image%d.%s".freeze
+ IMAGE_PN = "media/image%d.%s"
# comment part
- COMMENT_PN = "comments%d.xml".freeze
+ COMMENT_PN = "comments%d.xml"
# location of schema files for validation
SCHEMA_BASE = (File.dirname(__FILE__) + '/../../schema/').freeze
@@ -279,46 +281,46 @@ module Axlsx
WORKSHEET_NAME_FORBIDDEN_CHARS = '[]*/\?:'.chars.freeze
# error messages RestrictionValidor
- ERR_RESTRICTION = "Invalid Data: %s. %s must be one of %s.".freeze
+ ERR_RESTRICTION = "Invalid Data: %s. %s must be one of %s."
# error message DataTypeValidator
- ERR_TYPE = "Invalid Data %s for %s. must be %s.".freeze
+ ERR_TYPE = "Invalid Data %s for %s. must be %s."
# error message for RegexValidator
- ERR_REGEX = "Invalid Data. %s does not match %s.".freeze
+ ERR_REGEX = "Invalid Data. %s does not match %s."
# error message for RangeValidator
- ERR_RANGE = "Invalid Data. %s must be between %s and %s, (inclusive:%s) you gave: %s".freeze
+ ERR_RANGE = "Invalid Data. %s must be between %s and %s, (inclusive:%s) you gave: %s"
# error message for sheets that use explicit empty string name
- ERR_SHEET_NAME_EMPTY = "Your worksheet name is empty. Worksheet name can't be empty. Please assign name of your sheet or don't use name option at all.".freeze
+ ERR_SHEET_NAME_EMPTY = "Your worksheet name is empty. Worksheet name can't be empty. Please assign name of your sheet or don't use name option at all."
# error message for sheets that use a name which is longer than 31 bytes
- ERR_SHEET_NAME_TOO_LONG = "Your worksheet name '%s' is too long. Worksheet names must be #{WORKSHEET_MAX_NAME_LENGTH} characters (bytes) or less".freeze
+ ERR_SHEET_NAME_TOO_LONG = "Your worksheet name '%s' is too long. Worksheet names must be #{WORKSHEET_MAX_NAME_LENGTH} characters (bytes) or less"
# error message for sheets that use a name which include invalid characters
- ERR_SHEET_NAME_CHARACTER_FORBIDDEN = "Your worksheet name '%s' contains a character which is not allowed by MS Excel and will cause repair warnings. Please change the name of your sheet.".freeze
+ ERR_SHEET_NAME_CHARACTER_FORBIDDEN = "Your worksheet name '%s' contains a character which is not allowed by MS Excel and will cause repair warnings. Please change the name of your sheet."
# error message for duplicate sheet names
- ERR_DUPLICATE_SHEET_NAME = "There is already a worksheet in this workbook named '%s'. Please use a unique name".freeze
+ ERR_DUPLICATE_SHEET_NAME = "There is already a worksheet in this workbook named '%s'. Please use a unique name"
# error message when user does not provide color and or style options for border in Style#add_sytle
- ERR_INVALID_BORDER_OPTIONS = "border hash must include both style and color. e.g. :border => { :color => 'FF000000', :style => :thin }. You provided: %s".freeze
+ ERR_INVALID_BORDER_OPTIONS = "border hash must include both style and color. e.g. :border => { :color => 'FF000000', :style => :thin }. You provided: %s"
# error message for invalid border id reference
- ERR_INVALID_BORDER_ID = "The border id you specified (%s) does not exist. Please add a border with Style#add_style before referencing its index.".freeze
+ ERR_INVALID_BORDER_ID = "The border id you specified (%s) does not exist. Please add a border with Style#add_style before referencing its index."
# error message for invalid angles
- ERR_ANGLE = "Angles must be a value between -90 and 90. You provided: %s".freeze
+ ERR_ANGLE = "Angles must be a value between -90 and 90. You provided: %s"
# error message for non 'integerish' value
- ERR_INTEGERISH = "You value must be, or be castable via to_i, an Integer. You provided %s".freeze
+ ERR_INTEGERISH = "You value must be, or be castable via to_i, an Integer. You provided %s"
# error message for invalid cell reference
- ERR_CELL_REFERENCE_INVALID = "Invalid cell definition `%s`".freeze
+ ERR_CELL_REFERENCE_INVALID = "Invalid cell definition `%s`"
# error message for cell reference with last cell missing
- ERR_CELL_REFERENCE_MISSING_CELL = "Missing cell `%s` for the specified range `%s`".freeze
+ ERR_CELL_REFERENCE_MISSING_CELL = "Missing cell `%s` for the specified range `%s`"
# Regex to match forbidden control characters
# The following will be automatically stripped from worksheets.
diff --git a/lib/axlsx/util/mime_type_utils.rb b/lib/axlsx/util/mime_type_utils.rb
index f0c3afb1..5dbe0ac5 100644
--- a/lib/axlsx/util/mime_type_utils.rb
+++ b/lib/axlsx/util/mime_type_utils.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'open-uri'
module Axlsx
diff --git a/lib/axlsx/util/options_parser.rb b/lib/axlsx/util/options_parser.rb
index 3f2c1937..526a3aed 100644
--- a/lib/axlsx/util/options_parser.rb
+++ b/lib/axlsx/util/options_parser.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This module defines a single method for parsing options in class
# initializers.
diff --git a/lib/axlsx/util/serialized_attributes.rb b/lib/axlsx/util/serialized_attributes.rb
index eeac6e74..04b33fa5 100644
--- a/lib/axlsx/util/serialized_attributes.rb
+++ b/lib/axlsx/util/serialized_attributes.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This module allows us to define a list of symbols defining which
# attributes will be serialized for a class.
diff --git a/lib/axlsx/util/simple_typed_list.rb b/lib/axlsx/util/simple_typed_list.rb
index 59b25564..1a8bbbec 100644
--- a/lib/axlsx/util/simple_typed_list.rb
+++ b/lib/axlsx/util/simple_typed_list.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A SimpleTypedList is a type restrictive collection that allows some of the methods from Array and supports basic xml serialization.
# @private
diff --git a/lib/axlsx/util/storage.rb b/lib/axlsx/util/storage.rb
index 4932c93c..2ce0d8f5 100644
--- a/lib/axlsx/util/storage.rb
+++ b/lib/axlsx/util/storage.rb
@@ -1,9 +1,11 @@
+# frozen_string_literal: true
+
module Axlsx
# The Storage class represents a storage object or stream in a compound file.
class Storage
# Packing for the Storage when pushing an array of items into a byte stream
# Name, name length, type, color, left sibling, right sibling, child, classid, state, created, modified, sector, size
- PACKING = "s32 s1 c2 l3 x16 x4 q2 l q".freeze
+ PACKING = "s32 s1 c2 l3 x16 x4 q2 l q"
# storage types
TYPES = {
diff --git a/lib/axlsx/util/validators.rb b/lib/axlsx/util/validators.rb
index b6877a48..952827e9 100644
--- a/lib/axlsx/util/validators.rb
+++ b/lib/axlsx/util/validators.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Validate a value against a specific list of allowed values.
class RestrictionValidator
diff --git a/lib/axlsx/util/zip_command.rb b/lib/axlsx/util/zip_command.rb
index 23fd7cf6..00faa942 100644
--- a/lib/axlsx/util/zip_command.rb
+++ b/lib/axlsx/util/zip_command.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'open3'
require 'shellwords'
diff --git a/lib/axlsx/version.rb b/lib/axlsx/version.rb
index 3a06c284..4c284c7f 100644
--- a/lib/axlsx/version.rb
+++ b/lib/axlsx/version.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The current version
VERSION = "3.4.1"
diff --git a/lib/axlsx/workbook/defined_name.rb b/lib/axlsx/workbook/defined_name.rb
index d3b6e1ef..bcba47ee 100644
--- a/lib/axlsx/workbook/defined_name.rb
+++ b/lib/axlsx/workbook/defined_name.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# <definedNames>
# <definedName name="_xlnm.Print_Titles" localSheetId="0">Sheet1!$1:$1</definedName>
# </definedNames>
diff --git a/lib/axlsx/workbook/defined_names.rb b/lib/axlsx/workbook/defined_names.rb
index 017c6d96..9da776fd 100644
--- a/lib/axlsx/workbook/defined_names.rb
+++ b/lib/axlsx/workbook/defined_names.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# a simple types list of DefinedName objects
class DefinedNames < SimpleTypedList
diff --git a/lib/axlsx/workbook/shared_strings_table.rb b/lib/axlsx/workbook/shared_strings_table.rb
index b8502206..f0cbf04d 100644
--- a/lib/axlsx/workbook/shared_strings_table.rb
+++ b/lib/axlsx/workbook/shared_strings_table.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Shared String Table class is responsible for managing and serializing common strings in a workbook.
# While the ECMA-376 spec allows for both inline and shared strings it seems that at least some applications like iWorks Numbers
diff --git a/lib/axlsx/workbook/workbook.rb b/lib/axlsx/workbook/workbook.rb
index 71a3c375..bd70a836 100644
--- a/lib/axlsx/workbook/workbook.rb
+++ b/lib/axlsx/workbook/workbook.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
require 'axlsx/workbook/worksheet/sheet_calc_pr.rb'
require 'axlsx/workbook/worksheet/auto_filter/auto_filter.rb'
diff --git a/lib/axlsx/workbook/workbook_view.rb b/lib/axlsx/workbook/workbook_view.rb
index 27a46dcc..e992a65e 100644
--- a/lib/axlsx/workbook/workbook_view.rb
+++ b/lib/axlsx/workbook/workbook_view.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# <xsd:complexType name="CT_BookView">
# <xsd:sequence>
# <xsd:element name="extLst" type="CT_ExtensionList" minOccurs="0" maxOccurs="1"/>
diff --git a/lib/axlsx/workbook/workbook_views.rb b/lib/axlsx/workbook/workbook_views.rb
index 41010d0d..569533f8 100644
--- a/lib/axlsx/workbook/workbook_views.rb
+++ b/lib/axlsx/workbook/workbook_views.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# a simple types list of BookView objects
class WorkbookViews < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb b/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
index bf3426b6..156d4ae8 100644
--- a/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
+++ b/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'axlsx/workbook/worksheet/auto_filter/filter_column.rb'
require 'axlsx/workbook/worksheet/auto_filter/filters.rb'
diff --git a/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb b/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
index 32a9df26..92884e97 100644
--- a/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
+++ b/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The filterColumn collection identifies a particular column in the AutoFilter
# range and specifies filter information that has been applied to this column.
diff --git a/lib/axlsx/workbook/worksheet/auto_filter/filters.rb b/lib/axlsx/workbook/worksheet/auto_filter/filters.rb
index 90a5ff48..77cf7b17 100644
--- a/lib/axlsx/workbook/worksheet/auto_filter/filters.rb
+++ b/lib/axlsx/workbook/worksheet/auto_filter/filters.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# When multiple values are chosen to filter by, or when a group of date values are chosen to filter by,
# this object groups those criteria together.
diff --git a/lib/axlsx/workbook/worksheet/border_creator.rb b/lib/axlsx/workbook/worksheet/border_creator.rb
index 0e2fa87b..6321916f 100644
--- a/lib/axlsx/workbook/worksheet/border_creator.rb
+++ b/lib/axlsx/workbook/worksheet/border_creator.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
class BorderCreator
def initialize(worksheet:, cells:, edges: nil, style: nil, color: nil)
diff --git a/lib/axlsx/workbook/worksheet/break.rb b/lib/axlsx/workbook/worksheet/break.rb
index f8cc452e..c40503be 100644
--- a/lib/axlsx/workbook/worksheet/break.rb
+++ b/lib/axlsx/workbook/worksheet/break.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Break class stores the details for row and column page breaks.
# @see RowBreaks, ColBreaks
diff --git a/lib/axlsx/workbook/worksheet/cell.rb b/lib/axlsx/workbook/worksheet/cell.rb
index 13c762ef..930356e5 100644
--- a/lib/axlsx/workbook/worksheet/cell.rb
+++ b/lib/axlsx/workbook/worksheet/cell.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'cgi'
module Axlsx
# A cell in a worksheet.
@@ -72,13 +74,13 @@ module Axlsx
# Leading characters that indicate a formula.
# See: https://owasp.org/www-community/attacks/CSV_Injection
- FORMULA_PREFIXES = ['='.freeze].freeze
+ FORMULA_PREFIXES = ['='].freeze
# Leading characters that indicate an array formula.
- ARRAY_FORMULA_PREFIXES = ['{='.freeze].freeze
+ ARRAY_FORMULA_PREFIXES = ['{='].freeze
# Trailing character that indicates an array formula.
- ARRAY_FORMULA_SUFFIX = '}'.freeze
+ ARRAY_FORMULA_SUFFIX = '}'
# The index of the cellXfs item to be applied to this cell.
# @return [Integer]
diff --git a/lib/axlsx/workbook/worksheet/cell_serializer.rb b/lib/axlsx/workbook/worksheet/cell_serializer.rb
index 94a1f93a..3c8f87dc 100644
--- a/lib/axlsx/workbook/worksheet/cell_serializer.rb
+++ b/lib/axlsx/workbook/worksheet/cell_serializer.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Cell Serializer class contains the logic for serializing cells based on their type.
class CellSerializer
diff --git a/lib/axlsx/workbook/worksheet/cfvo.rb b/lib/axlsx/workbook/worksheet/cfvo.rb
index faa5d88a..7feb933d 100644
--- a/lib/axlsx/workbook/worksheet/cfvo.rb
+++ b/lib/axlsx/workbook/worksheet/cfvo.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Conditional Format Value Object
# Describes the values of the interpolation points in a gradient scale. This object is used by ColorScale, DataBar and IconSet classes
diff --git a/lib/axlsx/workbook/worksheet/cfvos.rb b/lib/axlsx/workbook/worksheet/cfvos.rb
index c5fa80f3..5115577a 100644
--- a/lib/axlsx/workbook/worksheet/cfvos.rb
+++ b/lib/axlsx/workbook/worksheet/cfvos.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A collection of Cfvo objects that initializes with the required
# first two items
diff --git a/lib/axlsx/workbook/worksheet/col.rb b/lib/axlsx/workbook/worksheet/col.rb
index 37c38365..10d421e8 100644
--- a/lib/axlsx/workbook/worksheet/col.rb
+++ b/lib/axlsx/workbook/worksheet/col.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Col class defines column attributes for columns in sheets.
class Col
diff --git a/lib/axlsx/workbook/worksheet/col_breaks.rb b/lib/axlsx/workbook/worksheet/col_breaks.rb
index 78ccc565..4a7b7f94 100644
--- a/lib/axlsx/workbook/worksheet/col_breaks.rb
+++ b/lib/axlsx/workbook/worksheet/col_breaks.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A collection of Brake objects.
# Please do not use this class directly. Instead use
diff --git a/lib/axlsx/workbook/worksheet/color_scale.rb b/lib/axlsx/workbook/worksheet/color_scale.rb
index 75877915..222e2f4d 100644
--- a/lib/axlsx/workbook/worksheet/color_scale.rb
+++ b/lib/axlsx/workbook/worksheet/color_scale.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Conditional Format Rule color scale object
# Describes a gradated color scale in this conditional formatting rule.
diff --git a/lib/axlsx/workbook/worksheet/cols.rb b/lib/axlsx/workbook/worksheet/cols.rb
index 27b1f508..76e0fbf7 100644
--- a/lib/axlsx/workbook/worksheet/cols.rb
+++ b/lib/axlsx/workbook/worksheet/cols.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The cols class manages the col object used to manage column widths.
# This is where the magic happens with autowidth
diff --git a/lib/axlsx/workbook/worksheet/comment.rb b/lib/axlsx/workbook/worksheet/comment.rb
index aa35feef..b0fd3e3b 100644
--- a/lib/axlsx/workbook/worksheet/comment.rb
+++ b/lib/axlsx/workbook/worksheet/comment.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A comment is the text data for a comment
class Comment
diff --git a/lib/axlsx/workbook/worksheet/comments.rb b/lib/axlsx/workbook/worksheet/comments.rb
index f6f3071b..020b29f5 100644
--- a/lib/axlsx/workbook/worksheet/comments.rb
+++ b/lib/axlsx/workbook/worksheet/comments.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Comments is a collection of Comment objects for a worksheet
class Comments < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/conditional_formatting.rb b/lib/axlsx/workbook/worksheet/conditional_formatting.rb
index 419e6684..d6293ca8 100644
--- a/lib/axlsx/workbook/worksheet/conditional_formatting.rb
+++ b/lib/axlsx/workbook/worksheet/conditional_formatting.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Conditional formatting allows styling of ranges based on functions
#
diff --git a/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb b/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
index 4f84080b..d3693d7e 100644
--- a/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
+++ b/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Conditional formatting rules specify formulas whose evaluations
# format cells
diff --git a/lib/axlsx/workbook/worksheet/conditional_formattings.rb b/lib/axlsx/workbook/worksheet/conditional_formattings.rb
index 8b510ab9..ba8c02a3 100644
--- a/lib/axlsx/workbook/worksheet/conditional_formattings.rb
+++ b/lib/axlsx/workbook/worksheet/conditional_formattings.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A simple, self serializing class for storing conditional formattings
class ConditionalFormattings < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/data_bar.rb b/lib/axlsx/workbook/worksheet/data_bar.rb
index c9f99dcc..0e505637 100644
--- a/lib/axlsx/workbook/worksheet/data_bar.rb
+++ b/lib/axlsx/workbook/worksheet/data_bar.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Conditional Format Rule data bar object
# Describes a data bar conditional formatting rule.
diff --git a/lib/axlsx/workbook/worksheet/data_validation.rb b/lib/axlsx/workbook/worksheet/data_validation.rb
index 741dee86..82868071 100644
--- a/lib/axlsx/workbook/worksheet/data_validation.rb
+++ b/lib/axlsx/workbook/worksheet/data_validation.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Data validation allows the validation of cell data
#
diff --git a/lib/axlsx/workbook/worksheet/data_validations.rb b/lib/axlsx/workbook/worksheet/data_validations.rb
index 9c07da42..dd5f11b9 100644
--- a/lib/axlsx/workbook/worksheet/data_validations.rb
+++ b/lib/axlsx/workbook/worksheet/data_validations.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A simple, self serializing class for storing conditional formattings
class DataValidations < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/date_time_converter.rb b/lib/axlsx/workbook/worksheet/date_time_converter.rb
index ff85c64f..ffa2831a 100644
--- a/lib/axlsx/workbook/worksheet/date_time_converter.rb
+++ b/lib/axlsx/workbook/worksheet/date_time_converter.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require "date"
module Axlsx
diff --git a/lib/axlsx/workbook/worksheet/dimension.rb b/lib/axlsx/workbook/worksheet/dimension.rb
index 013097c8..356c0396 100644
--- a/lib/axlsx/workbook/worksheet/dimension.rb
+++ b/lib/axlsx/workbook/worksheet/dimension.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class manages the dimensions for a worksheet.
# While this node is optional in the specification some readers like
diff --git a/lib/axlsx/workbook/worksheet/header_footer.rb b/lib/axlsx/workbook/worksheet/header_footer.rb
index 5ad00565..b80f4eeb 100644
--- a/lib/axlsx/workbook/worksheet/header_footer.rb
+++ b/lib/axlsx/workbook/worksheet/header_footer.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Header/Footer options for printing a worksheet. All settings are optional.
#
diff --git a/lib/axlsx/workbook/worksheet/icon_set.rb b/lib/axlsx/workbook/worksheet/icon_set.rb
index 4e7064e9..0179cc5f 100644
--- a/lib/axlsx/workbook/worksheet/icon_set.rb
+++ b/lib/axlsx/workbook/worksheet/icon_set.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Conditional Format Rule icon sets
# Describes an icon set conditional formatting rule.
diff --git a/lib/axlsx/workbook/worksheet/merged_cells.rb b/lib/axlsx/workbook/worksheet/merged_cells.rb
index f54fd252..5ecb1a4e 100644
--- a/lib/axlsx/workbook/worksheet/merged_cells.rb
+++ b/lib/axlsx/workbook/worksheet/merged_cells.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A simple list of merged cells
class MergedCells < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/outline_pr.rb b/lib/axlsx/workbook/worksheet/outline_pr.rb
index 5db0d825..fc301a76 100644
--- a/lib/axlsx/workbook/worksheet/outline_pr.rb
+++ b/lib/axlsx/workbook/worksheet/outline_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The OutlinePr class manages serialization of a worksheet's outlinePr element, which provides various
# options to control outlining.
diff --git a/lib/axlsx/workbook/worksheet/page_margins.rb b/lib/axlsx/workbook/worksheet/page_margins.rb
index a0967817..1e4a34e0 100644
--- a/lib/axlsx/workbook/worksheet/page_margins.rb
+++ b/lib/axlsx/workbook/worksheet/page_margins.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# PageMargins specify the margins when printing a worksheet.
#
diff --git a/lib/axlsx/workbook/worksheet/page_set_up_pr.rb b/lib/axlsx/workbook/worksheet/page_set_up_pr.rb
index 819c5fa7..d1c62c9e 100644
--- a/lib/axlsx/workbook/worksheet/page_set_up_pr.rb
+++ b/lib/axlsx/workbook/worksheet/page_set_up_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Page setup properties of the worksheet
# This class name is not a typo, its spec.
diff --git a/lib/axlsx/workbook/worksheet/page_setup.rb b/lib/axlsx/workbook/worksheet/page_setup.rb
index c10e28ce..fa49142d 100644
--- a/lib/axlsx/workbook/worksheet/page_setup.rb
+++ b/lib/axlsx/workbook/worksheet/page_setup.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Page setup settings for printing a worksheet. All settings are optional.
#
diff --git a/lib/axlsx/workbook/worksheet/pane.rb b/lib/axlsx/workbook/worksheet/pane.rb
index e752ab22..f88b732c 100644
--- a/lib/axlsx/workbook/worksheet/pane.rb
+++ b/lib/axlsx/workbook/worksheet/pane.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Pane options for a worksheet.
#
diff --git a/lib/axlsx/workbook/worksheet/pivot_table.rb b/lib/axlsx/workbook/worksheet/pivot_table.rb
index ff131dfb..8c6cb83e 100644
--- a/lib/axlsx/workbook/worksheet/pivot_table.rb
+++ b/lib/axlsx/workbook/worksheet/pivot_table.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Table
# @note Worksheet#add_pivot_table is the recommended way to create tables for your worksheets.
diff --git a/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb b/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb
index 8813c84b..136e756e 100644
--- a/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb
+++ b/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Table
# @note Worksheet#add_pivot_table is the recommended way to create tables for your worksheets.
diff --git a/lib/axlsx/workbook/worksheet/pivot_tables.rb b/lib/axlsx/workbook/worksheet/pivot_tables.rb
index c27162c3..7ba09b09 100644
--- a/lib/axlsx/workbook/worksheet/pivot_tables.rb
+++ b/lib/axlsx/workbook/worksheet/pivot_tables.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A simple, self serializing class for storing pivot tables
class PivotTables < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/print_options.rb b/lib/axlsx/workbook/worksheet/print_options.rb
index 7ba52861..e2c73bfa 100644
--- a/lib/axlsx/workbook/worksheet/print_options.rb
+++ b/lib/axlsx/workbook/worksheet/print_options.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Options for printing a worksheet. All options are boolean and false by default.
#
diff --git a/lib/axlsx/workbook/worksheet/protected_range.rb b/lib/axlsx/workbook/worksheet/protected_range.rb
index e4eb83e5..ac7d96f1 100644
--- a/lib/axlsx/workbook/worksheet/protected_range.rb
+++ b/lib/axlsx/workbook/worksheet/protected_range.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The Protected Range class represents a set of cells in the worksheet
# @note the recommended way to manage protected ranges with via Worksheet#protect_range
diff --git a/lib/axlsx/workbook/worksheet/protected_ranges.rb b/lib/axlsx/workbook/worksheet/protected_ranges.rb
index 75b3aee5..1d214d3b 100644
--- a/lib/axlsx/workbook/worksheet/protected_ranges.rb
+++ b/lib/axlsx/workbook/worksheet/protected_ranges.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A self serializing collection of ranges that should be protected in
# the worksheet
diff --git a/lib/axlsx/workbook/worksheet/rich_text.rb b/lib/axlsx/workbook/worksheet/rich_text.rb
index 4b643470..13febb0a 100644
--- a/lib/axlsx/workbook/worksheet/rich_text.rb
+++ b/lib/axlsx/workbook/worksheet/rich_text.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A simple, self serializing class for storing TextRuns
class RichText < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/rich_text_run.rb b/lib/axlsx/workbook/worksheet/rich_text_run.rb
index f9d2932f..9b61806c 100644
--- a/lib/axlsx/workbook/worksheet/rich_text_run.rb
+++ b/lib/axlsx/workbook/worksheet/rich_text_run.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The RichTextRun class creates and self serializing text run.
class RichTextRun
diff --git a/lib/axlsx/workbook/worksheet/row.rb b/lib/axlsx/workbook/worksheet/row.rb
index 119cd10b..50326aba 100644
--- a/lib/axlsx/workbook/worksheet/row.rb
+++ b/lib/axlsx/workbook/worksheet/row.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A Row is a single row in a worksheet.
# @note The recommended way to manage rows and cells is to use Worksheet#add_row
diff --git a/lib/axlsx/workbook/worksheet/row_breaks.rb b/lib/axlsx/workbook/worksheet/row_breaks.rb
index 2da31719..6d1b17c8 100644
--- a/lib/axlsx/workbook/worksheet/row_breaks.rb
+++ b/lib/axlsx/workbook/worksheet/row_breaks.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A collection of break objects that define row breaks (page breaks) for printing and preview
diff --git a/lib/axlsx/workbook/worksheet/selection.rb b/lib/axlsx/workbook/worksheet/selection.rb
index 82538fce..377c0b25 100644
--- a/lib/axlsx/workbook/worksheet/selection.rb
+++ b/lib/axlsx/workbook/worksheet/selection.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Selection options for worksheet panes.
#
diff --git a/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb b/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
index d692d461..bb78f92e 100644
--- a/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# the SheetCalcPr object for the worksheet
# This object contains calculation properties for the worksheet.
diff --git a/lib/axlsx/workbook/worksheet/sheet_data.rb b/lib/axlsx/workbook/worksheet/sheet_data.rb
index f6a27b0e..1531d5bf 100644
--- a/lib/axlsx/workbook/worksheet/sheet_data.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_data.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This class manages the serialization of rows for worksheets
class SheetData
diff --git a/lib/axlsx/workbook/worksheet/sheet_format_pr.rb b/lib/axlsx/workbook/worksheet/sheet_format_pr.rb
index ad4e4fab..e9ef8f33 100644
--- a/lib/axlsx/workbook/worksheet/sheet_format_pr.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_format_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Sheet formatting properties
# <xsd:complexType name="CT_SheetFormatPr">
diff --git a/lib/axlsx/workbook/worksheet/sheet_pr.rb b/lib/axlsx/workbook/worksheet/sheet_pr.rb
index 4fccf662..3bbb88d4 100644
--- a/lib/axlsx/workbook/worksheet/sheet_pr.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The SheetPr class manages serialization of a worksheet's sheetPr element.
class SheetPr
diff --git a/lib/axlsx/workbook/worksheet/sheet_protection.rb b/lib/axlsx/workbook/worksheet/sheet_protection.rb
index 42d74695..1b9aff14 100644
--- a/lib/axlsx/workbook/worksheet/sheet_protection.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_protection.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The SheetProtection object manages worksheet protection options per sheet.
class SheetProtection
diff --git a/lib/axlsx/workbook/worksheet/sheet_view.rb b/lib/axlsx/workbook/worksheet/sheet_view.rb
index dc41d01a..38b9593a 100644
--- a/lib/axlsx/workbook/worksheet/sheet_view.rb
+++ b/lib/axlsx/workbook/worksheet/sheet_view.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# View options for a worksheet.
#
diff --git a/lib/axlsx/workbook/worksheet/table.rb b/lib/axlsx/workbook/worksheet/table.rb
index 4f446491..70f27575 100644
--- a/lib/axlsx/workbook/worksheet/table.rb
+++ b/lib/axlsx/workbook/worksheet/table.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# Table
# @note Worksheet#add_table is the recommended way to create tables for your worksheets.
diff --git a/lib/axlsx/workbook/worksheet/table_style_info.rb b/lib/axlsx/workbook/worksheet/table_style_info.rb
index 537b2eea..1af61d9f 100644
--- a/lib/axlsx/workbook/worksheet/table_style_info.rb
+++ b/lib/axlsx/workbook/worksheet/table_style_info.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# The table style info class manages style attributes for defined tables in
# a worksheet
diff --git a/lib/axlsx/workbook/worksheet/tables.rb b/lib/axlsx/workbook/worksheet/tables.rb
index 20ba4789..41d3c658 100644
--- a/lib/axlsx/workbook/worksheet/tables.rb
+++ b/lib/axlsx/workbook/worksheet/tables.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A simple, self serializing class for storing tables
class Tables < SimpleTypedList
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index 1fb55ff2..1e8bf2e3 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require_relative "border_creator"
module Axlsx
diff --git a/lib/axlsx/workbook/worksheet/worksheet_comments.rb b/lib/axlsx/workbook/worksheet/worksheet_comments.rb
index 29ea6fc8..0f0355e7 100644
--- a/lib/axlsx/workbook/worksheet/worksheet_comments.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet_comments.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A wraper class for comments that defines its on worksheet
# serailization
diff --git a/lib/axlsx/workbook/worksheet/worksheet_drawing.rb b/lib/axlsx/workbook/worksheet/worksheet_drawing.rb
index c2819393..ce7edc7c 100644
--- a/lib/axlsx/workbook/worksheet/worksheet_drawing.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet_drawing.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# This is a utility class for serialing the drawing node in a
# worksheet. Drawing objects have their own serialization that exports
diff --git a/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb b/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
index 60615f1c..f375582b 100644
--- a/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A worksheet hyperlink object. Note that this is not the same as a drawing hyperlink object.
class WorksheetHyperlink
diff --git a/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb b/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
index 44c6125a..a5b1a512 100644
--- a/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Axlsx
# A collection of hyperlink objects for a worksheet
class WorksheetHyperlinks < SimpleTypedList
diff --git a/lib/caxlsx.rb b/lib/caxlsx.rb
index 047ed28f..e97cd68c 100644
--- a/lib/caxlsx.rb
+++ b/lib/caxlsx.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
require 'axlsx.rb'
diff --git a/test/benchmark.rb b/test/benchmark.rb
index 9e651596..38dcc8fc 100755
--- a/test/benchmark.rb
+++ b/test/benchmark.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby -s
+# frozen_string_literal: true
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
require 'axlsx'
diff --git a/test/content_type/tc_content_type.rb b/test/content_type/tc_content_type.rb
index e94f311e..a3c6603f 100644
--- a/test/content_type/tc_content_type.rb
+++ b/test/content_type/tc_content_type.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestContentType < Test::Unit::TestCase
diff --git a/test/content_type/tc_default.rb b/test/content_type/tc_default.rb
index e3d8d75e..89125bf1 100644
--- a/test/content_type/tc_default.rb
+++ b/test/content_type/tc_default.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestDefault < Test::Unit::TestCase
diff --git a/test/content_type/tc_override.rb b/test/content_type/tc_override.rb
index ad0699b5..73a13410 100644
--- a/test/content_type/tc_override.rb
+++ b/test/content_type/tc_override.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestOverride < Test::Unit::TestCase
diff --git a/test/doc_props/tc_app.rb b/test/doc_props/tc_app.rb
index fbbe0b67..d96723db 100644
--- a/test/doc_props/tc_app.rb
+++ b/test/doc_props/tc_app.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestApp < Test::Unit::TestCase
diff --git a/test/doc_props/tc_core.rb b/test/doc_props/tc_core.rb
index 6d0ce604..9714a6eb 100644
--- a/test/doc_props/tc_core.rb
+++ b/test/doc_props/tc_core.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCore < Test::Unit::TestCase
diff --git a/test/drawing/tc_area_chart.rb b/test/drawing/tc_area_chart.rb
index 14449349..5829149a 100644
--- a/test/drawing/tc_area_chart.rb
+++ b/test/drawing/tc_area_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestAreaChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_area_series.rb b/test/drawing/tc_area_series.rb
index d77e241d..e7e53269 100644
--- a/test/drawing/tc_area_series.rb
+++ b/test/drawing/tc_area_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestAreaSeries < Test::Unit::TestCase
diff --git a/test/drawing/tc_axes.rb b/test/drawing/tc_axes.rb
index 27a90b0b..2e9aab90 100644
--- a/test/drawing/tc_axes.rb
+++ b/test/drawing/tc_axes.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestAxes < Test::Unit::TestCase
diff --git a/test/drawing/tc_axis.rb b/test/drawing/tc_axis.rb
index d62f4fbd..ba359fed 100644
--- a/test/drawing/tc_axis.rb
+++ b/test/drawing/tc_axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestAxis < Test::Unit::TestCase
diff --git a/test/drawing/tc_bar_3D_chart.rb b/test/drawing/tc_bar_3D_chart.rb
index aaef0312..d825ce94 100644
--- a/test/drawing/tc_bar_3D_chart.rb
+++ b/test/drawing/tc_bar_3D_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBar3DChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_bar_chart.rb b/test/drawing/tc_bar_chart.rb
index 9fd52530..0d4fd341 100644
--- a/test/drawing/tc_bar_chart.rb
+++ b/test/drawing/tc_bar_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBarChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_bar_series.rb b/test/drawing/tc_bar_series.rb
index bbc18b1d..450b67e5 100644
--- a/test/drawing/tc_bar_series.rb
+++ b/test/drawing/tc_bar_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBarSeries < Test::Unit::TestCase
diff --git a/test/drawing/tc_bubble_chart.rb b/test/drawing/tc_bubble_chart.rb
index e596c095..b38e636b 100644
--- a/test/drawing/tc_bubble_chart.rb
+++ b/test/drawing/tc_bubble_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBubbleChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_bubble_series.rb b/test/drawing/tc_bubble_series.rb
index ef7875ac..78ac1b23 100644
--- a/test/drawing/tc_bubble_series.rb
+++ b/test/drawing/tc_bubble_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBubbleSeries < Test::Unit::TestCase
diff --git a/test/drawing/tc_cat_axis.rb b/test/drawing/tc_cat_axis.rb
index bae314da..db3272e5 100644
--- a/test/drawing/tc_cat_axis.rb
+++ b/test/drawing/tc_cat_axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCatAxis < Test::Unit::TestCase
diff --git a/test/drawing/tc_cat_axis_data.rb b/test/drawing/tc_cat_axis_data.rb
index 09b14be6..23d78090 100644
--- a/test/drawing/tc_cat_axis_data.rb
+++ b/test/drawing/tc_cat_axis_data.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
# require 'tc_helper.rb'
# class TestCatAxisData < Test::Unit::TestCase
diff --git a/test/drawing/tc_chart.rb b/test/drawing/tc_chart.rb
index f91bfbbd..c7527e15 100644
--- a/test/drawing/tc_chart.rb
+++ b/test/drawing/tc_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_d_lbls.rb b/test/drawing/tc_d_lbls.rb
index ef391824..76840a6e 100644
--- a/test/drawing/tc_d_lbls.rb
+++ b/test/drawing/tc_d_lbls.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestDLbls < Test::Unit::TestCase
diff --git a/test/drawing/tc_data_source.rb b/test/drawing/tc_data_source.rb
index 4148439b..ea0f1e37 100644
--- a/test/drawing/tc_data_source.rb
+++ b/test/drawing/tc_data_source.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestNumDataSource < Test::Unit::TestCase
diff --git a/test/drawing/tc_drawing.rb b/test/drawing/tc_drawing.rb
index d8c5d1e9..1e72b462 100644
--- a/test/drawing/tc_drawing.rb
+++ b/test/drawing/tc_drawing.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestDrawing < Test::Unit::TestCase
diff --git a/test/drawing/tc_graphic_frame.rb b/test/drawing/tc_graphic_frame.rb
index 8b69040a..fc5743be 100644
--- a/test/drawing/tc_graphic_frame.rb
+++ b/test/drawing/tc_graphic_frame.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestGraphicFrame < Test::Unit::TestCase
diff --git a/test/drawing/tc_hyperlink.rb b/test/drawing/tc_hyperlink.rb
index b9df3ad9..cad418f8 100644
--- a/test/drawing/tc_hyperlink.rb
+++ b/test/drawing/tc_hyperlink.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestHyperlink < Test::Unit::TestCase
diff --git a/test/drawing/tc_line_3d_chart.rb b/test/drawing/tc_line_3d_chart.rb
index 618439ff..2107f1a0 100644
--- a/test/drawing/tc_line_3d_chart.rb
+++ b/test/drawing/tc_line_3d_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestLine3DChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_line_chart.rb b/test/drawing/tc_line_chart.rb
index 98fecc72..460b2055 100644
--- a/test/drawing/tc_line_chart.rb
+++ b/test/drawing/tc_line_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestLineChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_line_series.rb b/test/drawing/tc_line_series.rb
index b0435488..893c587f 100644
--- a/test/drawing/tc_line_series.rb
+++ b/test/drawing/tc_line_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestLineSeries < Test::Unit::TestCase
diff --git a/test/drawing/tc_marker.rb b/test/drawing/tc_marker.rb
index 8f521128..3341f8cc 100644
--- a/test/drawing/tc_marker.rb
+++ b/test/drawing/tc_marker.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestMarker < Test::Unit::TestCase
diff --git a/test/drawing/tc_named_axis_data.rb b/test/drawing/tc_named_axis_data.rb
index 63fb4610..01c08784 100644
--- a/test/drawing/tc_named_axis_data.rb
+++ b/test/drawing/tc_named_axis_data.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
# require 'tc_helper.rb'
# class TestNamedAxisData < Test::Unit::TestCase
diff --git a/test/drawing/tc_num_data.rb b/test/drawing/tc_num_data.rb
index b169faef..e0683984 100644
--- a/test/drawing/tc_num_data.rb
+++ b/test/drawing/tc_num_data.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestNumData < Test::Unit::TestCase
diff --git a/test/drawing/tc_num_val.rb b/test/drawing/tc_num_val.rb
index 3168bd89..e5f3b869 100644
--- a/test/drawing/tc_num_val.rb
+++ b/test/drawing/tc_num_val.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestNumVal < Test::Unit::TestCase
diff --git a/test/drawing/tc_one_cell_anchor.rb b/test/drawing/tc_one_cell_anchor.rb
index 1c28ef52..7f0a7c4a 100644
--- a/test/drawing/tc_one_cell_anchor.rb
+++ b/test/drawing/tc_one_cell_anchor.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestOneCellAnchor < Test::Unit::TestCase
diff --git a/test/drawing/tc_pic.rb b/test/drawing/tc_pic.rb
index 45014f53..daa8b4a3 100644
--- a/test/drawing/tc_pic.rb
+++ b/test/drawing/tc_pic.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPic < Test::Unit::TestCase
diff --git a/test/drawing/tc_picture_locking.rb b/test/drawing/tc_picture_locking.rb
index a7daf79b..e6db9f59 100644
--- a/test/drawing/tc_picture_locking.rb
+++ b/test/drawing/tc_picture_locking.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPictureLocking < Test::Unit::TestCase
diff --git a/test/drawing/tc_pie_3D_chart.rb b/test/drawing/tc_pie_3D_chart.rb
index 3a1236db..889e383f 100644
--- a/test/drawing/tc_pie_3D_chart.rb
+++ b/test/drawing/tc_pie_3D_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPie3DChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_pie_series.rb b/test/drawing/tc_pie_series.rb
index 96c61f94..a0d63cfc 100644
--- a/test/drawing/tc_pie_series.rb
+++ b/test/drawing/tc_pie_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPieSeries < Test::Unit::TestCase
diff --git a/test/drawing/tc_scaling.rb b/test/drawing/tc_scaling.rb
index cc02ee92..eae1950d 100644
--- a/test/drawing/tc_scaling.rb
+++ b/test/drawing/tc_scaling.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestScaling < Test::Unit::TestCase
diff --git a/test/drawing/tc_scatter_chart.rb b/test/drawing/tc_scatter_chart.rb
index 2712da99..92bc8486 100644
--- a/test/drawing/tc_scatter_chart.rb
+++ b/test/drawing/tc_scatter_chart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestScatterChart < Test::Unit::TestCase
diff --git a/test/drawing/tc_scatter_series.rb b/test/drawing/tc_scatter_series.rb
index f9f5aad0..a550271b 100644
--- a/test/drawing/tc_scatter_series.rb
+++ b/test/drawing/tc_scatter_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestScatterSeries < Test::Unit::TestCase
diff --git a/test/drawing/tc_ser_axis.rb b/test/drawing/tc_ser_axis.rb
index 3b752635..6d26b182 100644
--- a/test/drawing/tc_ser_axis.rb
+++ b/test/drawing/tc_ser_axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSerAxis < Test::Unit::TestCase
diff --git a/test/drawing/tc_series.rb b/test/drawing/tc_series.rb
index fad4e763..2215d398 100644
--- a/test/drawing/tc_series.rb
+++ b/test/drawing/tc_series.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSeries < Test::Unit::TestCase
diff --git a/test/drawing/tc_series_title.rb b/test/drawing/tc_series_title.rb
index 14eb0fba..8950ab6a 100644
--- a/test/drawing/tc_series_title.rb
+++ b/test/drawing/tc_series_title.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSeriesTitle < Test::Unit::TestCase
diff --git a/test/drawing/tc_str_data.rb b/test/drawing/tc_str_data.rb
index 408e4b98..e8fc0441 100644
--- a/test/drawing/tc_str_data.rb
+++ b/test/drawing/tc_str_data.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestStrData < Test::Unit::TestCase
diff --git a/test/drawing/tc_str_val.rb b/test/drawing/tc_str_val.rb
index 39b96e08..dfff771b 100644
--- a/test/drawing/tc_str_val.rb
+++ b/test/drawing/tc_str_val.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestStrVal < Test::Unit::TestCase
diff --git a/test/drawing/tc_title.rb b/test/drawing/tc_title.rb
index 330a48e6..ee4d12c9 100644
--- a/test/drawing/tc_title.rb
+++ b/test/drawing/tc_title.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestTitle < Test::Unit::TestCase
diff --git a/test/drawing/tc_two_cell_anchor.rb b/test/drawing/tc_two_cell_anchor.rb
index 321cc45a..bfdaf4de 100644
--- a/test/drawing/tc_two_cell_anchor.rb
+++ b/test/drawing/tc_two_cell_anchor.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestTwoCellAnchor < Test::Unit::TestCase
diff --git a/test/drawing/tc_val_axis.rb b/test/drawing/tc_val_axis.rb
index b3a6fb39..bb464048 100644
--- a/test/drawing/tc_val_axis.rb
+++ b/test/drawing/tc_val_axis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestValAxis < Test::Unit::TestCase
diff --git a/test/drawing/tc_view_3D.rb b/test/drawing/tc_view_3D.rb
index d5550a73..e09edc13 100644
--- a/test/drawing/tc_view_3D.rb
+++ b/test/drawing/tc_view_3D.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestView3D < Test::Unit::TestCase
diff --git a/test/drawing/tc_vml_drawing.rb b/test/drawing/tc_vml_drawing.rb
index ad12642a..815cc556 100644
--- a/test/drawing/tc_vml_drawing.rb
+++ b/test/drawing/tc_vml_drawing.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestVmlDrawing < Test::Unit::TestCase
diff --git a/test/drawing/tc_vml_shape.rb b/test/drawing/tc_vml_shape.rb
index 188114b6..8e415cc1 100644
--- a/test/drawing/tc_vml_shape.rb
+++ b/test/drawing/tc_vml_shape.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestVmlShape < Test::Unit::TestCase
diff --git a/test/profile.rb b/test/profile.rb
index 7b671831..498f2619 100755
--- a/test/profile.rb
+++ b/test/profile.rb
@@ -1,4 +1,5 @@
#!/usr/bin/env ruby -s
+# frozen_string_literal: true
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
require 'axlsx'
diff --git a/test/rels/tc_relationship.rb b/test/rels/tc_relationship.rb
index b38c47e1..04dab810 100644
--- a/test/rels/tc_relationship.rb
+++ b/test/rels/tc_relationship.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestRelationships < Test::Unit::TestCase
diff --git a/test/rels/tc_relationships.rb b/test/rels/tc_relationships.rb
index 488880b4..b1ad7995 100644
--- a/test/rels/tc_relationships.rb
+++ b/test/rels/tc_relationships.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestRelationships < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_border.rb b/test/stylesheet/tc_border.rb
index 132dc68a..96bef927 100644
--- a/test/stylesheet/tc_border.rb
+++ b/test/stylesheet/tc_border.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBorder < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_border_pr.rb b/test/stylesheet/tc_border_pr.rb
index c82b282d..a1069f5d 100644
--- a/test/stylesheet/tc_border_pr.rb
+++ b/test/stylesheet/tc_border_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBorderPr < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_cell_alignment.rb b/test/stylesheet/tc_cell_alignment.rb
index 79ed858d..2e95db54 100644
--- a/test/stylesheet/tc_cell_alignment.rb
+++ b/test/stylesheet/tc_cell_alignment.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCellAlignment < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_cell_protection.rb b/test/stylesheet/tc_cell_protection.rb
index e70bb1b8..a6cc9a5b 100644
--- a/test/stylesheet/tc_cell_protection.rb
+++ b/test/stylesheet/tc_cell_protection.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCellProtection < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_cell_style.rb b/test/stylesheet/tc_cell_style.rb
index a2990967..d280ccd1 100644
--- a/test/stylesheet/tc_cell_style.rb
+++ b/test/stylesheet/tc_cell_style.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCellStyle < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_color.rb b/test/stylesheet/tc_color.rb
index 1c14278a..0b23daff 100644
--- a/test/stylesheet/tc_color.rb
+++ b/test/stylesheet/tc_color.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestColor < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_dxf.rb b/test/stylesheet/tc_dxf.rb
index 014f794e..5e25a133 100644
--- a/test/stylesheet/tc_dxf.rb
+++ b/test/stylesheet/tc_dxf.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestDxf < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_fill.rb b/test/stylesheet/tc_fill.rb
index 89e746da..3990a92b 100644
--- a/test/stylesheet/tc_fill.rb
+++ b/test/stylesheet/tc_fill.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestFill < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_font.rb b/test/stylesheet/tc_font.rb
index d3d5fdff..3cee3e63 100644
--- a/test/stylesheet/tc_font.rb
+++ b/test/stylesheet/tc_font.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestFont < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_gradient_fill.rb b/test/stylesheet/tc_gradient_fill.rb
index fa7ca434..a150a01b 100644
--- a/test/stylesheet/tc_gradient_fill.rb
+++ b/test/stylesheet/tc_gradient_fill.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestGradientFill < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_gradient_stop.rb b/test/stylesheet/tc_gradient_stop.rb
index 34b18e36..23a1d58e 100644
--- a/test/stylesheet/tc_gradient_stop.rb
+++ b/test/stylesheet/tc_gradient_stop.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestGradientStop < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_num_fmt.rb b/test/stylesheet/tc_num_fmt.rb
index 33d91f97..490bf59f 100644
--- a/test/stylesheet/tc_num_fmt.rb
+++ b/test/stylesheet/tc_num_fmt.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestNumFmt < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_pattern_fill.rb b/test/stylesheet/tc_pattern_fill.rb
index b2e77b7a..120f5f33 100644
--- a/test/stylesheet/tc_pattern_fill.rb
+++ b/test/stylesheet/tc_pattern_fill.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPatternFill < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_styles.rb b/test/stylesheet/tc_styles.rb
index 31c8cfb1..3b77616f 100644
--- a/test/stylesheet/tc_styles.rb
+++ b/test/stylesheet/tc_styles.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestStyles < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_table_style.rb b/test/stylesheet/tc_table_style.rb
index cd07733a..ea3334b7 100644
--- a/test/stylesheet/tc_table_style.rb
+++ b/test/stylesheet/tc_table_style.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestTableStyle < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_table_style_element.rb b/test/stylesheet/tc_table_style_element.rb
index febb8b65..93ad9453 100644
--- a/test/stylesheet/tc_table_style_element.rb
+++ b/test/stylesheet/tc_table_style_element.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestTableStyleElement < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_table_styles.rb b/test/stylesheet/tc_table_styles.rb
index f09f4e2d..a02cb09b 100644
--- a/test/stylesheet/tc_table_styles.rb
+++ b/test/stylesheet/tc_table_styles.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestTableStyles < Test::Unit::TestCase
diff --git a/test/stylesheet/tc_xf.rb b/test/stylesheet/tc_xf.rb
index a381c976..b678ce15 100644
--- a/test/stylesheet/tc_xf.rb
+++ b/test/stylesheet/tc_xf.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestXf < Test::Unit::TestCase
diff --git a/test/support/capture_warnings.rb b/test/support/capture_warnings.rb
index c327a145..632f87a3 100644
--- a/test/support/capture_warnings.rb
+++ b/test/support/capture_warnings.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module CaptureWarnings
def capture_warnings
# Turn off warnings with setting $VERBOSE to nil
diff --git a/test/tc_axlsx.rb b/test/tc_axlsx.rb
index 21c0c82a..d1c47b47 100644
--- a/test/tc_axlsx.rb
+++ b/test/tc_axlsx.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestAxlsx < Test::Unit::TestCase
@@ -92,7 +94,7 @@ class TestAxlsx < Test::Unit::TestCase
end
def test_sanitize_frozen_control_strippped
- needs_sanitize = "legit\x08".freeze # Backspace control char
+ needs_sanitize = "legit\x08" # Backspace control char
assert_equal('legit', Axlsx.sanitize(needs_sanitize), 'should strip control chars')
end
diff --git a/test/tc_helper.rb b/test/tc_helper.rb
index cd3b3262..f0e55df7 100644
--- a/test/tc_helper.rb
+++ b/test/tc_helper.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
require 'simplecov'
SimpleCov.start do
diff --git a/test/tc_package.rb b/test/tc_package.rb
index d4581792..f4087c4d 100644
--- a/test/tc_package.rb
+++ b/test/tc_package.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
require 'support/capture_warnings'
diff --git a/test/util/tc_mime_type_utils.rb b/test/util/tc_mime_type_utils.rb
index ee7f447a..568aa61d 100644
--- a/test/util/tc_mime_type_utils.rb
+++ b/test/util/tc_mime_type_utils.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestMimeTypeUtils < Test::Unit::TestCase
diff --git a/test/util/tc_serialized_attributes.rb b/test/util/tc_serialized_attributes.rb
index 4ba90b29..02036bab 100644
--- a/test/util/tc_serialized_attributes.rb
+++ b/test/util/tc_serialized_attributes.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class Funk
diff --git a/test/util/tc_simple_typed_list.rb b/test/util/tc_simple_typed_list.rb
index e1ac6d99..ac65529d 100644
--- a/test/util/tc_simple_typed_list.rb
+++ b/test/util/tc_simple_typed_list.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSimpleTypedList < Test::Unit::TestCase
diff --git a/test/util/tc_validators.rb b/test/util/tc_validators.rb
index 59e4f559..86e2182c 100644
--- a/test/util/tc_validators.rb
+++ b/test/util/tc_validators.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestValidators < Test::Unit::TestCase
diff --git a/test/workbook/tc_defined_name.rb b/test/workbook/tc_defined_name.rb
index 25db45db..4fbd2e58 100644
--- a/test/workbook/tc_defined_name.rb
+++ b/test/workbook/tc_defined_name.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestDefinedNames < Test::Unit::TestCase
diff --git a/test/workbook/tc_shared_strings_table.rb b/test/workbook/tc_shared_strings_table.rb
index 2f7de9a7..4aa308f1 100644
--- a/test/workbook/tc_shared_strings_table.rb
+++ b/test/workbook/tc_shared_strings_table.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSharedStringsTable < Test::Unit::TestCase
diff --git a/test/workbook/tc_workbook.rb b/test/workbook/tc_workbook.rb
index 0bd84d2d..d85c17d9 100644
--- a/test/workbook/tc_workbook.rb
+++ b/test/workbook/tc_workbook.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestWorkbook < Test::Unit::TestCase
diff --git a/test/workbook/tc_workbook_view.rb b/test/workbook/tc_workbook_view.rb
index 07f21f6a..c8909713 100644
--- a/test/workbook/tc_workbook_view.rb
+++ b/test/workbook/tc_workbook_view.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestWorkbookView < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/auto_filter/tc_auto_filter.rb b/test/workbook/worksheet/auto_filter/tc_auto_filter.rb
index ead6c43a..85ba32b7 100644
--- a/test/workbook/worksheet/auto_filter/tc_auto_filter.rb
+++ b/test/workbook/worksheet/auto_filter/tc_auto_filter.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestAutoFilter < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/auto_filter/tc_filter_column.rb b/test/workbook/worksheet/auto_filter/tc_filter_column.rb
index 84cb41ca..d89446c6 100644
--- a/test/workbook/worksheet/auto_filter/tc_filter_column.rb
+++ b/test/workbook/worksheet/auto_filter/tc_filter_column.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestFilterColumn < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/auto_filter/tc_filters.rb b/test/workbook/worksheet/auto_filter/tc_filters.rb
index 35f17a7b..4cd8ca00 100644
--- a/test/workbook/worksheet/auto_filter/tc_filters.rb
+++ b/test/workbook/worksheet/auto_filter/tc_filters.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestFilters < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_border_creator.rb b/test/workbook/worksheet/tc_border_creator.rb
index 7dff4f0f..46891e8b 100644
--- a/test/workbook/worksheet/tc_border_creator.rb
+++ b/test/workbook/worksheet/tc_border_creator.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBorderCreator < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_break.rb b/test/workbook/worksheet/tc_break.rb
index 638dcd8d..a441abe0 100644
--- a/test/workbook/worksheet/tc_break.rb
+++ b/test/workbook/worksheet/tc_break.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestBreak < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_cell.rb b/test/workbook/worksheet/tc_cell.rb
index 28a074ae..a534a8dc 100644
--- a/test/workbook/worksheet/tc_cell.rb
+++ b/test/workbook/worksheet/tc_cell.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCell < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_cfvo.rb b/test/workbook/worksheet/tc_cfvo.rb
index 6098add1..0e2e5332 100644
--- a/test/workbook/worksheet/tc_cfvo.rb
+++ b/test/workbook/worksheet/tc_cfvo.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCfvo < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_col.rb b/test/workbook/worksheet/tc_col.rb
index d34b84ec..e795c301 100644
--- a/test/workbook/worksheet/tc_col.rb
+++ b/test/workbook/worksheet/tc_col.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestCol < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_color_scale.rb b/test/workbook/worksheet/tc_color_scale.rb
index 6cba553b..335e8057 100644
--- a/test/workbook/worksheet/tc_color_scale.rb
+++ b/test/workbook/worksheet/tc_color_scale.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestColorScale < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_comment.rb b/test/workbook/worksheet/tc_comment.rb
index d6fd41d1..65b2ca1d 100644
--- a/test/workbook/worksheet/tc_comment.rb
+++ b/test/workbook/worksheet/tc_comment.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestComment < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_comments.rb b/test/workbook/worksheet/tc_comments.rb
index e96a581c..445f2342 100644
--- a/test/workbook/worksheet/tc_comments.rb
+++ b/test/workbook/worksheet/tc_comments.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestComments < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_conditional_formatting.rb b/test/workbook/worksheet/tc_conditional_formatting.rb
index 9eee820b..f706dae3 100644
--- a/test/workbook/worksheet/tc_conditional_formatting.rb
+++ b/test/workbook/worksheet/tc_conditional_formatting.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestConditionalFormatting < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_data_bar.rb b/test/workbook/worksheet/tc_data_bar.rb
index 35cf5c11..62c6fc34 100644
--- a/test/workbook/worksheet/tc_data_bar.rb
+++ b/test/workbook/worksheet/tc_data_bar.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestDataBar < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_data_validation.rb b/test/workbook/worksheet/tc_data_validation.rb
index 90fea502..4be68673 100644
--- a/test/workbook/worksheet/tc_data_validation.rb
+++ b/test/workbook/worksheet/tc_data_validation.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
require 'support/capture_warnings'
diff --git a/test/workbook/worksheet/tc_date_time_converter.rb b/test/workbook/worksheet/tc_date_time_converter.rb
index 669dee06..5cc9d619 100644
--- a/test/workbook/worksheet/tc_date_time_converter.rb
+++ b/test/workbook/worksheet/tc_date_time_converter.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestDateTimeConverter < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_header_footer.rb b/test/workbook/worksheet/tc_header_footer.rb
index 45a90825..8a62b281 100644
--- a/test/workbook/worksheet/tc_header_footer.rb
+++ b/test/workbook/worksheet/tc_header_footer.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestHeaderFooter < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_icon_set.rb b/test/workbook/worksheet/tc_icon_set.rb
index f065c399..beb69919 100644
--- a/test/workbook/worksheet/tc_icon_set.rb
+++ b/test/workbook/worksheet/tc_icon_set.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestIconSet < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_outline_pr.rb b/test/workbook/worksheet/tc_outline_pr.rb
index cd806d17..95b52530 100644
--- a/test/workbook/worksheet/tc_outline_pr.rb
+++ b/test/workbook/worksheet/tc_outline_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestOutlinePr < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_page_margins.rb b/test/workbook/worksheet/tc_page_margins.rb
index 820c65be..8c580204 100644
--- a/test/workbook/worksheet/tc_page_margins.rb
+++ b/test/workbook/worksheet/tc_page_margins.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPageMargins < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_page_set_up_pr.rb b/test/workbook/worksheet/tc_page_set_up_pr.rb
index ab39f038..36a2a6f4 100644
--- a/test/workbook/worksheet/tc_page_set_up_pr.rb
+++ b/test/workbook/worksheet/tc_page_set_up_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPageSetUpPr < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_page_setup.rb b/test/workbook/worksheet/tc_page_setup.rb
index 494db40b..95703c1c 100644
--- a/test/workbook/worksheet/tc_page_setup.rb
+++ b/test/workbook/worksheet/tc_page_setup.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPageSetup < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_pane.rb b/test/workbook/worksheet/tc_pane.rb
index 5afc142e..59d411a0 100644
--- a/test/workbook/worksheet/tc_pane.rb
+++ b/test/workbook/worksheet/tc_pane.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPane < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_pivot_table.rb b/test/workbook/worksheet/tc_pivot_table.rb
index 4fafa04d..f5b23a96 100644
--- a/test/workbook/worksheet/tc_pivot_table.rb
+++ b/test/workbook/worksheet/tc_pivot_table.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
def shared_test_pivot_table_xml_validity(pivot_table)
diff --git a/test/workbook/worksheet/tc_pivot_table_cache_definition.rb b/test/workbook/worksheet/tc_pivot_table_cache_definition.rb
index f629940f..108fa297 100644
--- a/test/workbook/worksheet/tc_pivot_table_cache_definition.rb
+++ b/test/workbook/worksheet/tc_pivot_table_cache_definition.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPivotTableCacheDefinition < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_print_options.rb b/test/workbook/worksheet/tc_print_options.rb
index e568d739..10639bcf 100644
--- a/test/workbook/worksheet/tc_print_options.rb
+++ b/test/workbook/worksheet/tc_print_options.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestPrintOptions < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_protected_range.rb b/test/workbook/worksheet/tc_protected_range.rb
index 1f39ec12..44fe8333 100644
--- a/test/workbook/worksheet/tc_protected_range.rb
+++ b/test/workbook/worksheet/tc_protected_range.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestProtectedRange < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_rich_text.rb b/test/workbook/worksheet/tc_rich_text.rb
index 77d74ab6..ed3ec9ca 100644
--- a/test/workbook/worksheet/tc_rich_text.rb
+++ b/test/workbook/worksheet/tc_rich_text.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class RichText < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_rich_text_run.rb b/test/workbook/worksheet/tc_rich_text_run.rb
index ef2a520c..e9011832 100644
--- a/test/workbook/worksheet/tc_rich_text_run.rb
+++ b/test/workbook/worksheet/tc_rich_text_run.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class RichTextRun < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_row.rb b/test/workbook/worksheet/tc_row.rb
index cd805315..9336ae38 100644
--- a/test/workbook/worksheet/tc_row.rb
+++ b/test/workbook/worksheet/tc_row.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestRow < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_selection.rb b/test/workbook/worksheet/tc_selection.rb
index d2edc669..d68500a5 100644
--- a/test/workbook/worksheet/tc_selection.rb
+++ b/test/workbook/worksheet/tc_selection.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSelection < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_sheet_calc_pr.rb b/test/workbook/worksheet/tc_sheet_calc_pr.rb
index 0d810378..cd1f6506 100644
--- a/test/workbook/worksheet/tc_sheet_calc_pr.rb
+++ b/test/workbook/worksheet/tc_sheet_calc_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSheetCalcPr < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_sheet_format_pr.rb b/test/workbook/worksheet/tc_sheet_format_pr.rb
index 5de2fc53..18d62249 100644
--- a/test/workbook/worksheet/tc_sheet_format_pr.rb
+++ b/test/workbook/worksheet/tc_sheet_format_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSheetFormatPr < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_sheet_pr.rb b/test/workbook/worksheet/tc_sheet_pr.rb
index 7bff60b7..be87ebf7 100644
--- a/test/workbook/worksheet/tc_sheet_pr.rb
+++ b/test/workbook/worksheet/tc_sheet_pr.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSheetPr < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_sheet_protection.rb b/test/workbook/worksheet/tc_sheet_protection.rb
index 3305b044..4a5e22e8 100644
--- a/test/workbook/worksheet/tc_sheet_protection.rb
+++ b/test/workbook/worksheet/tc_sheet_protection.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
# <xsd:complexType name="CT_SheetProtection">
diff --git a/test/workbook/worksheet/tc_sheet_view.rb b/test/workbook/worksheet/tc_sheet_view.rb
index 1098f42a..b52b6954 100644
--- a/test/workbook/worksheet/tc_sheet_view.rb
+++ b/test/workbook/worksheet/tc_sheet_view.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestSheetView < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_table.rb b/test/workbook/worksheet/tc_table.rb
index 2a3a56db..38f909b9 100644
--- a/test/workbook/worksheet/tc_table.rb
+++ b/test/workbook/worksheet/tc_table.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestTable < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_table_style_info.rb b/test/workbook/worksheet/tc_table_style_info.rb
index 1da1068d..60a4c113 100644
--- a/test/workbook/worksheet/tc_table_style_info.rb
+++ b/test/workbook/worksheet/tc_table_style_info.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestTableStyleInfo < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_worksheet.rb b/test/workbook/worksheet/tc_worksheet.rb
index fc671a59..3c54e3fc 100644
--- a/test/workbook/worksheet/tc_worksheet.rb
+++ b/test/workbook/worksheet/tc_worksheet.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestWorksheet < Test::Unit::TestCase
diff --git a/test/workbook/worksheet/tc_worksheet_hyperlink.rb b/test/workbook/worksheet/tc_worksheet_hyperlink.rb
index 82f6689b..19bacc0e 100644
--- a/test/workbook/worksheet/tc_worksheet_hyperlink.rb
+++ b/test/workbook/worksheet/tc_worksheet_hyperlink.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'tc_helper'
class TestWorksheetHyperlink < Test::Unit::TestCase