summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/axlsx/content_type/content_type.rb6
-rw-r--r--lib/axlsx/drawing/area_series.rb2
-rw-r--r--lib/axlsx/drawing/drawing.rb98
-rw-r--r--lib/axlsx/drawing/line_series.rb2
-rw-r--r--lib/axlsx/drawing/pie_series.rb2
-rw-r--r--lib/axlsx/drawing/scatter_series.rb2
-rw-r--r--lib/axlsx/rels/relationships.rb2
-rw-r--r--lib/axlsx/stylesheet/color.rb2
-rw-r--r--lib/axlsx/stylesheet/styles.rb58
-rw-r--r--lib/axlsx/util/constants.rb14
-rw-r--r--lib/axlsx/util/simple_typed_list.rb12
-rw-r--r--lib/axlsx/workbook/workbook.rb98
-rw-r--r--lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/cell.rb7
-rw-r--r--lib/axlsx/workbook/worksheet/dimension.rb2
-rw-r--r--lib/axlsx/workbook/worksheet/merged_cells.rb4
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb2
-rw-r--r--lib/caxlsx.rb2
18 files changed, 162 insertions, 157 deletions
diff --git a/lib/axlsx/content_type/content_type.rb b/lib/axlsx/content_type/content_type.rb
index 22763bfb..d2e3bb9e 100644
--- a/lib/axlsx/content_type/content_type.rb
+++ b/lib/axlsx/content_type/content_type.rb
@@ -1,9 +1,9 @@
# frozen_string_literal: true
module Axlsx
- require 'axlsx/content_type/abstract_content_type.rb'
- require 'axlsx/content_type/default.rb'
- require 'axlsx/content_type/override.rb'
+ require 'axlsx/content_type/abstract_content_type'
+ require 'axlsx/content_type/default'
+ require 'axlsx/content_type/override'
# ContentTypes used in the package. This is automatically managed by the package package.
class ContentType < SimpleTypedList
diff --git a/lib/axlsx/drawing/area_series.rb b/lib/axlsx/drawing/area_series.rb
index cf4aaf13..afaf5ea0 100644
--- a/lib/axlsx/drawing/area_series.rb
+++ b/lib/axlsx/drawing/area_series.rb
@@ -89,7 +89,7 @@ module Axlsx
if !@show_marker
str << '<c:marker><c:symbol val="none"/></c:marker>'
elsif @marker_symbol != :default
- str << '<c:marker><c:symbol val="' + @marker_symbol.to_s + '"/></c:marker>'
+ str << '<c:marker><c:symbol val="' << @marker_symbol.to_s << '"/></c:marker>'
end
@labels.to_xml_string(str) unless @labels.nil?
diff --git a/lib/axlsx/drawing/drawing.rb b/lib/axlsx/drawing/drawing.rb
index ef532974..8cb3e2cc 100644
--- a/lib/axlsx/drawing/drawing.rb
+++ b/lib/axlsx/drawing/drawing.rb
@@ -1,55 +1,55 @@
# frozen_string_literal: true
module Axlsx
- require 'axlsx/drawing/d_lbls.rb'
- require 'axlsx/drawing/title.rb'
- require 'axlsx/drawing/series_title.rb'
- require 'axlsx/drawing/series.rb'
- require 'axlsx/drawing/pie_series.rb'
- require 'axlsx/drawing/bar_series.rb'
- require 'axlsx/drawing/line_series.rb'
- require 'axlsx/drawing/scatter_series.rb'
- require 'axlsx/drawing/bubble_series.rb'
- require 'axlsx/drawing/area_series.rb'
-
- require 'axlsx/drawing/scaling.rb'
- require 'axlsx/drawing/axis.rb'
-
- require 'axlsx/drawing/str_val.rb'
- require 'axlsx/drawing/num_val.rb'
- require 'axlsx/drawing/str_data.rb'
- require 'axlsx/drawing/num_data.rb'
- require 'axlsx/drawing/num_data_source.rb'
- require 'axlsx/drawing/ax_data_source.rb'
-
- require 'axlsx/drawing/ser_axis.rb'
- require 'axlsx/drawing/cat_axis.rb'
- require 'axlsx/drawing/val_axis.rb'
- require 'axlsx/drawing/axes.rb'
-
- require 'axlsx/drawing/marker.rb'
-
- require 'axlsx/drawing/one_cell_anchor.rb'
- require 'axlsx/drawing/two_cell_anchor.rb'
- require 'axlsx/drawing/graphic_frame.rb'
-
- require 'axlsx/drawing/view_3D.rb'
- require 'axlsx/drawing/chart.rb'
- require 'axlsx/drawing/pie_3D_chart.rb'
- require 'axlsx/drawing/bar_3D_chart.rb'
- require 'axlsx/drawing/bar_chart.rb'
- require 'axlsx/drawing/line_chart.rb'
- require 'axlsx/drawing/line_3D_chart.rb'
- require 'axlsx/drawing/scatter_chart.rb'
- require 'axlsx/drawing/bubble_chart.rb'
- require 'axlsx/drawing/area_chart.rb'
-
- require 'axlsx/drawing/picture_locking.rb'
- require 'axlsx/drawing/pic.rb'
- require 'axlsx/drawing/hyperlink.rb'
-
- require 'axlsx/drawing/vml_drawing.rb'
- require 'axlsx/drawing/vml_shape.rb'
+ require 'axlsx/drawing/d_lbls'
+ require 'axlsx/drawing/title'
+ require 'axlsx/drawing/series_title'
+ require 'axlsx/drawing/series'
+ require 'axlsx/drawing/pie_series'
+ require 'axlsx/drawing/bar_series'
+ require 'axlsx/drawing/line_series'
+ require 'axlsx/drawing/scatter_series'
+ require 'axlsx/drawing/bubble_series'
+ require 'axlsx/drawing/area_series'
+
+ require 'axlsx/drawing/scaling'
+ require 'axlsx/drawing/axis'
+
+ require 'axlsx/drawing/str_val'
+ require 'axlsx/drawing/num_val'
+ require 'axlsx/drawing/str_data'
+ require 'axlsx/drawing/num_data'
+ require 'axlsx/drawing/num_data_source'
+ require 'axlsx/drawing/ax_data_source'
+
+ require 'axlsx/drawing/ser_axis'
+ require 'axlsx/drawing/cat_axis'
+ require 'axlsx/drawing/val_axis'
+ require 'axlsx/drawing/axes'
+
+ require 'axlsx/drawing/marker'
+
+ require 'axlsx/drawing/one_cell_anchor'
+ require 'axlsx/drawing/two_cell_anchor'
+ require 'axlsx/drawing/graphic_frame'
+
+ require 'axlsx/drawing/view_3D'
+ require 'axlsx/drawing/chart'
+ require 'axlsx/drawing/pie_3D_chart'
+ require 'axlsx/drawing/bar_3D_chart'
+ require 'axlsx/drawing/bar_chart'
+ require 'axlsx/drawing/line_chart'
+ require 'axlsx/drawing/line_3D_chart'
+ require 'axlsx/drawing/scatter_chart'
+ require 'axlsx/drawing/bubble_chart'
+ require 'axlsx/drawing/area_chart'
+
+ require 'axlsx/drawing/picture_locking'
+ require 'axlsx/drawing/pic'
+ require 'axlsx/drawing/hyperlink'
+
+ require 'axlsx/drawing/vml_drawing'
+ require 'axlsx/drawing/vml_shape'
# A Drawing is a canvas for charts and images. Each worksheet has a single drawing that manages anchors.
# The anchors reference the charts or images via graphical frames. This is not a trivial relationship so please do follow the advice in the note.
diff --git a/lib/axlsx/drawing/line_series.rb b/lib/axlsx/drawing/line_series.rb
index fbed4000..4854a718 100644
--- a/lib/axlsx/drawing/line_series.rb
+++ b/lib/axlsx/drawing/line_series.rb
@@ -89,7 +89,7 @@ module Axlsx
if !@show_marker
str << '<c:marker><c:symbol val="none"/></c:marker>'
elsif @marker_symbol != :default
- str << '<c:marker><c:symbol val="' + @marker_symbol.to_s + '"/></c:marker>'
+ str << '<c:marker><c:symbol val="' << @marker_symbol.to_s << '"/></c:marker>'
end
@labels.to_xml_string(str) unless @labels.nil?
diff --git a/lib/axlsx/drawing/pie_series.rb b/lib/axlsx/drawing/pie_series.rb
index f3edd1e9..cce79648 100644
--- a/lib/axlsx/drawing/pie_series.rb
+++ b/lib/axlsx/drawing/pie_series.rb
@@ -46,7 +46,7 @@ module Axlsx
# @return [String]
def to_xml_string(str = +'')
super(str) do
- str << '<c:explosion val="' + @explosion.to_s + '"/>' unless @explosion.nil?
+ str << '<c:explosion val="' << @explosion.to_s << '"/>' unless @explosion.nil?
colors.each_with_index do |c, index|
str << '<c:dPt>'
str << '<c:idx val="' << index.to_s << '"/>'
diff --git a/lib/axlsx/drawing/scatter_series.rb b/lib/axlsx/drawing/scatter_series.rb
index 9c6e12f2..9e3579f7 100644
--- a/lib/axlsx/drawing/scatter_series.rb
+++ b/lib/axlsx/drawing/scatter_series.rb
@@ -121,7 +121,7 @@ module Axlsx
if !@show_marker
'<c:symbol val="none"/>'
elsif @marker_symbol != :default
- '<c:symbol val="' + @marker_symbol.to_s + '"/>'
+ '<c:symbol val="' << @marker_symbol.to_s << '"/>'
end.to_s
end
end
diff --git a/lib/axlsx/rels/relationships.rb b/lib/axlsx/rels/relationships.rb
index 3aa9c1bf..910f2473 100644
--- a/lib/axlsx/rels/relationships.rb
+++ b/lib/axlsx/rels/relationships.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module Axlsx
- require 'axlsx/rels/relationship.rb'
+ require 'axlsx/rels/relationship'
# Relationships are a collection of Relations that define how package parts are related.
# @note The package automatically manages releationships.
diff --git a/lib/axlsx/stylesheet/color.rb b/lib/axlsx/stylesheet/color.rb
index 24fe3bc3..0c40a073 100644
--- a/lib/axlsx/stylesheet/color.rb
+++ b/lib/axlsx/stylesheet/color.rb
@@ -73,7 +73,7 @@ module Axlsx
# @param [String] str
# @return [String]
def to_xml_string(str = +'', tag_name = 'color')
- serialized_tag('' + tag_name + '', str)
+ serialized_tag(tag_name.to_s, str)
end
end
end
diff --git a/lib/axlsx/stylesheet/styles.rb b/lib/axlsx/stylesheet/styles.rb
index 625f6a02..c3dd8d06 100644
--- a/lib/axlsx/stylesheet/styles.rb
+++ b/lib/axlsx/stylesheet/styles.rb
@@ -1,23 +1,23 @@
# frozen_string_literal: true
module Axlsx
- require 'axlsx/stylesheet/border.rb'
- require 'axlsx/stylesheet/border_pr.rb'
- require 'axlsx/stylesheet/cell_alignment.rb'
- require 'axlsx/stylesheet/cell_style.rb'
- require 'axlsx/stylesheet/color.rb'
- require 'axlsx/stylesheet/fill.rb'
- require 'axlsx/stylesheet/font.rb'
- require 'axlsx/stylesheet/gradient_fill.rb'
- require 'axlsx/stylesheet/gradient_stop.rb'
- require 'axlsx/stylesheet/num_fmt.rb'
- require 'axlsx/stylesheet/pattern_fill.rb'
- require 'axlsx/stylesheet/table_style.rb'
- require 'axlsx/stylesheet/table_styles.rb'
- require 'axlsx/stylesheet/table_style_element.rb'
- require 'axlsx/stylesheet/dxf.rb'
- require 'axlsx/stylesheet/xf.rb'
- require 'axlsx/stylesheet/cell_protection.rb'
+ require 'axlsx/stylesheet/border'
+ require 'axlsx/stylesheet/border_pr'
+ require 'axlsx/stylesheet/cell_alignment'
+ require 'axlsx/stylesheet/cell_style'
+ require 'axlsx/stylesheet/color'
+ require 'axlsx/stylesheet/fill'
+ require 'axlsx/stylesheet/font'
+ require 'axlsx/stylesheet/gradient_fill'
+ require 'axlsx/stylesheet/gradient_stop'
+ require 'axlsx/stylesheet/num_fmt'
+ require 'axlsx/stylesheet/pattern_fill'
+ require 'axlsx/stylesheet/table_style'
+ require 'axlsx/stylesheet/table_styles'
+ require 'axlsx/stylesheet/table_style_element'
+ require 'axlsx/stylesheet/dxf'
+ require 'axlsx/stylesheet/xf'
+ require 'axlsx/stylesheet/cell_protection'
# The Styles class manages worksheet styles
# In addition to creating the require style objects for a valid xlsx package, this class provides the key mechanism for adding styles to your workbook, and safely applying them to the cells of your worksheet.
@@ -390,24 +390,22 @@ module Axlsx
if options[:border].nil?
base_border_opts = {}
- else
- if options[:border].is_a?(Array)
- borders_array += options[:border]
+ elsif options[:border].is_a?(Array)
+ borders_array += options[:border]
- base_border_opts = {}
+ base_border_opts = {}
- options[:border].each do |b_opts|
- if b_opts[:edges].nil?
- base_border_opts = base_border_opts.merge(b_opts)
- end
+ options[:border].each do |b_opts|
+ if b_opts[:edges].nil?
+ base_border_opts = base_border_opts.merge(b_opts)
end
- else
- borders_array << options[:border]
+ end
+ else
+ borders_array << options[:border]
- base_border_opts = options[:border]
+ base_border_opts = options[:border]
- validate_border_hash.call(base_border_opts)
- end
+ validate_border_hash.call(base_border_opts)
end
Border::EDGES.each do |edge|
diff --git a/lib/axlsx/util/constants.rb b/lib/axlsx/util/constants.rb
index 459e0099..0767be31 100644
--- a/lib/axlsx/util/constants.rb
+++ b/lib/axlsx/util/constants.rb
@@ -239,25 +239,25 @@ module Axlsx
COMMENT_PN = "comments%d.xml"
# location of schema files for validation
- SCHEMA_BASE = (File.dirname(__FILE__) + '/../../schema/').freeze
+ SCHEMA_BASE = "#{File.dirname(__FILE__)}/../../schema/"
# App validation schema
- APP_XSD = (SCHEMA_BASE + "shared-documentPropertiesExtended.xsd").freeze
+ APP_XSD = "#{SCHEMA_BASE}shared-documentPropertiesExtended.xsd"
# core validation schema
- CORE_XSD = (SCHEMA_BASE + "opc-coreProperties.xsd").freeze
+ CORE_XSD = "#{SCHEMA_BASE}opc-coreProperties.xsd"
# content types validation schema
- CONTENT_TYPES_XSD = (SCHEMA_BASE + "opc-contentTypes.xsd").freeze
+ CONTENT_TYPES_XSD = "#{SCHEMA_BASE}opc-contentTypes.xsd"
# rels validation schema
- RELS_XSD = (SCHEMA_BASE + "opc-relationships.xsd").freeze
+ RELS_XSD = "#{SCHEMA_BASE}opc-relationships.xsd"
# spreadsheetML validation schema
- SML_XSD = (SCHEMA_BASE + "sml.xsd").freeze
+ SML_XSD = "#{SCHEMA_BASE}sml.xsd"
# drawing validation schema
- DRAWING_XSD = (SCHEMA_BASE + "dml-spreadsheetDrawing.xsd").freeze
+ DRAWING_XSD = "#{SCHEMA_BASE}dml-spreadsheetDrawing.xsd"
# number format id for pecentage formatting using the default formatting id.
NUM_FMT_PERCENT = 9
diff --git a/lib/axlsx/util/simple_typed_list.rb b/lib/axlsx/util/simple_typed_list.rb
index c3910fca..30cfd2a5 100644
--- a/lib/axlsx/util/simple_typed_list.rb
+++ b/lib/axlsx/util/simple_typed_list.rb
@@ -15,6 +15,12 @@ module Axlsx
undef_method name
end
+ # We often call index(element) on instances of SimpleTypedList. Thus, we do not want to inherit Array
+ # implementation of == / eql? which walks the elements calling == / eql?. Instead we want the fast
+ # and original versions from BasicObject.
+ alias :== :equal?
+ alias :eql? :equal?
+
# Creats a new typed list
# @param [Array, Class] type An array of Class objects or a single Class object
# @param [String] serialize_as The tag name to use in serialization
@@ -85,12 +91,12 @@ module Axlsx
end
# join operator
- # @param [Array] v the array to join
+ # @param [Array] other the array to join
# @raise [ArgumentError] if any of the values being joined are not
# one of the allowed types
# @return [SimpleTypedList]
- def +(v)
- v.each do |item|
+ def +(other)
+ other.each do |item|
self << item
end
super
diff --git a/lib/axlsx/workbook/workbook.rb b/lib/axlsx/workbook/workbook.rb
index 95d3e4a7..ec80d6dc 100644
--- a/lib/axlsx/workbook/workbook.rb
+++ b/lib/axlsx/workbook/workbook.rb
@@ -1,41 +1,41 @@
# frozen_string_literal: true
module Axlsx
- require 'axlsx/workbook/worksheet/sheet_calc_pr.rb'
- require 'axlsx/workbook/worksheet/auto_filter/auto_filter.rb'
- require 'axlsx/workbook/worksheet/date_time_converter.rb'
- require 'axlsx/workbook/worksheet/protected_range.rb'
- require 'axlsx/workbook/worksheet/protected_ranges.rb'
+ require 'axlsx/workbook/worksheet/sheet_calc_pr'
+ require 'axlsx/workbook/worksheet/auto_filter/auto_filter'
+ require 'axlsx/workbook/worksheet/date_time_converter'
+ require 'axlsx/workbook/worksheet/protected_range'
+ require 'axlsx/workbook/worksheet/protected_ranges'
require 'axlsx/workbook/worksheet/rich_text_run'
require 'axlsx/workbook/worksheet/rich_text'
- require 'axlsx/workbook/worksheet/cell_serializer.rb'
- require 'axlsx/workbook/worksheet/cell.rb'
- require 'axlsx/workbook/worksheet/page_margins.rb'
- require 'axlsx/workbook/worksheet/page_set_up_pr.rb'
- require 'axlsx/workbook/worksheet/outline_pr.rb'
- require 'axlsx/workbook/worksheet/page_setup.rb'
- require 'axlsx/workbook/worksheet/header_footer.rb'
- require 'axlsx/workbook/worksheet/print_options.rb'
- require 'axlsx/workbook/worksheet/cfvo.rb'
- require 'axlsx/workbook/worksheet/cfvos.rb'
- require 'axlsx/workbook/worksheet/color_scale.rb'
- require 'axlsx/workbook/worksheet/data_bar.rb'
- require 'axlsx/workbook/worksheet/icon_set.rb'
- require 'axlsx/workbook/worksheet/conditional_formatting.rb'
- require 'axlsx/workbook/worksheet/conditional_formatting_rule.rb'
- require 'axlsx/workbook/worksheet/conditional_formattings.rb'
- require 'axlsx/workbook/worksheet/row.rb'
- require 'axlsx/workbook/worksheet/col.rb'
- require 'axlsx/workbook/worksheet/cols.rb'
- require 'axlsx/workbook/worksheet/comments.rb'
- require 'axlsx/workbook/worksheet/comment.rb'
- require 'axlsx/workbook/worksheet/merged_cells.rb'
- require 'axlsx/workbook/worksheet/sheet_protection.rb'
- require 'axlsx/workbook/worksheet/sheet_pr.rb'
- require 'axlsx/workbook/worksheet/dimension.rb'
- require 'axlsx/workbook/worksheet/sheet_data.rb'
- require 'axlsx/workbook/worksheet/worksheet_drawing.rb'
- require 'axlsx/workbook/worksheet/worksheet_comments.rb'
+ require 'axlsx/workbook/worksheet/cell_serializer'
+ require 'axlsx/workbook/worksheet/cell'
+ require 'axlsx/workbook/worksheet/page_margins'
+ require 'axlsx/workbook/worksheet/page_set_up_pr'
+ require 'axlsx/workbook/worksheet/outline_pr'
+ require 'axlsx/workbook/worksheet/page_setup'
+ require 'axlsx/workbook/worksheet/header_footer'
+ require 'axlsx/workbook/worksheet/print_options'
+ require 'axlsx/workbook/worksheet/cfvo'
+ require 'axlsx/workbook/worksheet/cfvos'
+ require 'axlsx/workbook/worksheet/color_scale'
+ require 'axlsx/workbook/worksheet/data_bar'
+ require 'axlsx/workbook/worksheet/icon_set'
+ require 'axlsx/workbook/worksheet/conditional_formatting'
+ require 'axlsx/workbook/worksheet/conditional_formatting_rule'
+ require 'axlsx/workbook/worksheet/conditional_formattings'
+ require 'axlsx/workbook/worksheet/row'
+ require 'axlsx/workbook/worksheet/col'
+ require 'axlsx/workbook/worksheet/cols'
+ require 'axlsx/workbook/worksheet/comments'
+ require 'axlsx/workbook/worksheet/comment'
+ require 'axlsx/workbook/worksheet/merged_cells'
+ require 'axlsx/workbook/worksheet/sheet_protection'
+ require 'axlsx/workbook/worksheet/sheet_pr'
+ require 'axlsx/workbook/worksheet/dimension'
+ require 'axlsx/workbook/worksheet/sheet_data'
+ require 'axlsx/workbook/worksheet/worksheet_drawing'
+ require 'axlsx/workbook/worksheet/worksheet_comments'
require 'axlsx/workbook/worksheet/worksheet_hyperlink'
require 'axlsx/workbook/worksheet/worksheet_hyperlinks'
require 'axlsx/workbook/worksheet/break'
@@ -43,22 +43,22 @@ module Axlsx
require 'axlsx/workbook/worksheet/col_breaks'
require 'axlsx/workbook/workbook_view'
require 'axlsx/workbook/workbook_views'
- require 'axlsx/workbook/worksheet/worksheet.rb'
- require 'axlsx/workbook/shared_strings_table.rb'
- require 'axlsx/workbook/defined_name.rb'
- require 'axlsx/workbook/defined_names.rb'
- require 'axlsx/workbook/worksheet/table_style_info.rb'
- require 'axlsx/workbook/worksheet/table.rb'
- require 'axlsx/workbook/worksheet/tables.rb'
- require 'axlsx/workbook/worksheet/pivot_table_cache_definition.rb'
- require 'axlsx/workbook/worksheet/pivot_table.rb'
- require 'axlsx/workbook/worksheet/pivot_tables.rb'
- require 'axlsx/workbook/worksheet/data_validation.rb'
- require 'axlsx/workbook/worksheet/data_validations.rb'
- require 'axlsx/workbook/worksheet/sheet_view.rb'
- require 'axlsx/workbook/worksheet/sheet_format_pr.rb'
- require 'axlsx/workbook/worksheet/pane.rb'
- require 'axlsx/workbook/worksheet/selection.rb'
+ require 'axlsx/workbook/worksheet/worksheet'
+ require 'axlsx/workbook/shared_strings_table'
+ require 'axlsx/workbook/defined_name'
+ require 'axlsx/workbook/defined_names'
+ require 'axlsx/workbook/worksheet/table_style_info'
+ require 'axlsx/workbook/worksheet/table'
+ require 'axlsx/workbook/worksheet/tables'
+ require 'axlsx/workbook/worksheet/pivot_table_cache_definition'
+ require 'axlsx/workbook/worksheet/pivot_table'
+ require 'axlsx/workbook/worksheet/pivot_tables'
+ require 'axlsx/workbook/worksheet/data_validation'
+ require 'axlsx/workbook/worksheet/data_validations'
+ require 'axlsx/workbook/worksheet/sheet_view'
+ require 'axlsx/workbook/worksheet/sheet_format_pr'
+ require 'axlsx/workbook/worksheet/pane'
+ require 'axlsx/workbook/worksheet/selection'
# The Workbook class is an xlsx workbook that manages worksheets, charts, drawings and styles.
# The following parts of the Office Open XML spreadsheet specification are not implimented in this version.
diff --git a/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb b/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
index 5a74d79a..f25966de 100644
--- a/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
+++ b/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
-require 'axlsx/workbook/worksheet/auto_filter/filter_column.rb'
-require 'axlsx/workbook/worksheet/auto_filter/filters.rb'
+require 'axlsx/workbook/worksheet/auto_filter/filter_column'
+require 'axlsx/workbook/worksheet/auto_filter/filters'
module Axlsx
# This class represents an auto filter range in a worksheet
diff --git a/lib/axlsx/workbook/worksheet/cell.rb b/lib/axlsx/workbook/worksheet/cell.rb
index 09cf2064..b4f826c2 100644
--- a/lib/axlsx/workbook/worksheet/cell.rb
+++ b/lib/axlsx/workbook/worksheet/cell.rb
@@ -73,6 +73,9 @@ module Axlsx
CELL_TYPES = [:date, :time, :float, :integer, :richtext,
:string, :boolean, :iso_8601, :text].freeze
+ # A regular expression to match the alpha(column)numeric(row) reference of a cell
+ CELL_REFERENCE_REGEX = /([A-Z]+)([0-9]+)/.freeze
+
# The index of the cellXfs item to be applied to this cell.
# @return [Integer]
# @see Axlsx::Styles
@@ -345,11 +348,11 @@ module Axlsx
Axlsx::cell_r index, @row.row_index
end
- # @return [String] The absolute alpha(column)numeric(row) reference for this sell.
+ # @return [String] The absolute alpha(column)numeric(row) reference for this cell.
# @example Absolute Cell Reference
# ws.rows.first.cells.first.r #=> "$A$1"
def r_abs
- "$#{r.match(/([A-Z]+)([0-9]+)/)[1, 2].join('$')}"
+ "$#{CELL_REFERENCE_REGEX.match(r)[1, 2].join('$')}"
end
# @return [Integer] The cellXfs item index applied to this cell.
diff --git a/lib/axlsx/workbook/worksheet/dimension.rb b/lib/axlsx/workbook/worksheet/dimension.rb
index 42e02e72..f27404b6 100644
--- a/lib/axlsx/workbook/worksheet/dimension.rb
+++ b/lib/axlsx/workbook/worksheet/dimension.rb
@@ -39,7 +39,7 @@ module Axlsx
def to_xml_string(str = +'')
return if worksheet.rows.empty?
- str << "<dimension ref=\"%s\"></dimension>" % sqref
+ str << '<dimension ref="' << sqref << '"></dimension>'
end
# The first cell in the dimension
diff --git a/lib/axlsx/workbook/worksheet/merged_cells.rb b/lib/axlsx/workbook/worksheet/merged_cells.rb
index c0ca1ebe..c3fb6dde 100644
--- a/lib/axlsx/workbook/worksheet/merged_cells.rb
+++ b/lib/axlsx/workbook/worksheet/merged_cells.rb
@@ -12,7 +12,7 @@ module Axlsx
end
# adds cells to the merged cells collection
- # @param [Array||String] cells The cells to add to the merged cells
+ # @param [Array|String] cells The cells to add to the merged cells
# collection. This can be an array of actual cells or a string style
# range like 'A1:C1'
def add(cells)
@@ -20,8 +20,6 @@ module Axlsx
cells
elsif cells.is_a?(Array)
Axlsx::cell_range(cells, false)
- elsif cells.is_a?(Row)
- Axlsx::cell_range(cells, false)
end
end
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index 8c6e53b4..aaeadb11 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -45,7 +45,7 @@ module Axlsx
# The name of the worksheet
# @return [String]
def name
- @name ||= "Sheet" + (index + 1).to_s
+ @name ||= "Sheet#{index + 1}"
end
# Whether to treat values starting with an equals sign as formulas or as literal strings.
diff --git a/lib/caxlsx.rb b/lib/caxlsx.rb
index e97cd68c..d2b96503 100644
--- a/lib/caxlsx.rb
+++ b/lib/caxlsx.rb
@@ -1,3 +1,3 @@
# frozen_string_literal: true
-require 'axlsx.rb'
+require 'axlsx'