summaryrefslogtreecommitdiffhomepage
path: root/lib/axlsx/workbook/worksheet/worksheet.rb
diff options
context:
space:
mode:
authorJosef Šimánek <[email protected]>2021-12-10 03:16:58 +0100
committerJosef Šimánek <[email protected]>2022-02-07 17:20:43 +0100
commitc027feff583a09d5d6803e666bdbfca87653329d (patch)
tree1f8367b7f7bf29bfacc2ae593d3e9870fcaaafd7 /lib/axlsx/workbook/worksheet/worksheet.rb
parentbe9b3e6ee9dca0e0377ae8f3b14d007ad494b7e6 (diff)
downloadcaxlsx-c027feff583a09d5d6803e666bdbfca87653329d.tar.gz
caxlsx-c027feff583a09d5d6803e666bdbfca87653329d.zip
Validate name option to be non-empty string when passed.
Diffstat (limited to 'lib/axlsx/workbook/worksheet/worksheet.rb')
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index adb9839f..0942daa2 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -682,6 +682,7 @@ module Axlsx
def validate_sheet_name(name)
DataTypeValidator.validate :worksheet_name, String, name
# ignore first character (BOM) after encoding to utf16 because Excel does so, too.
+ raise ArgumentError, (ERR_SHEET_NAME_EMPTY) if name.empty?
character_length = name.encode("utf-16")[1..-1].encode("utf-16").bytesize / 2
raise ArgumentError, (ERR_SHEET_NAME_TOO_LONG % name) if character_length > 31
raise ArgumentError, (ERR_SHEET_NAME_CHARACTER_FORBIDDEN % name) if '[]*/\?:'.chars.any? { |char| name.include? char }