summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorRandy Morgan (@morgan_randy) <[email protected]>2013-01-07 16:29:05 -0800
committerRandy Morgan (@morgan_randy) <[email protected]>2013-01-07 16:29:05 -0800
commitdc2974806e73ec7a2765000c756a4875680c6b4a (patch)
tree0568c07421704a3452a950748fb0ffd19cc62486 /lib
parentf7eeb07abfa1c58552847b2b38787f44cd3e2d24 (diff)
parent2feb1ba5ae0d64012cff128c87631a32fc18de1a (diff)
downloadcaxlsx-dc2974806e73ec7a2765000c756a4875680c6b4a.tar.gz
caxlsx-dc2974806e73ec7a2765000c756a4875680c6b4a.zip
Merge pull request #155 from nilbus/name-validation
Fixes related to validating worksheet name uniqueness
Diffstat (limited to 'lib')
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index 26385573..5f650263 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -23,11 +23,11 @@ module Axlsx
# @option options [Boolean] show_gridlines indicates if gridlines should be shown for this sheet.
def initialize(wb, options={})
self.workbook = wb
- @workbook.worksheets << self
@sheet_protection = nil
initialize_page_options(options)
parse_options options
+ @workbook.worksheets << self
end
# Initalizes page margin, setup and print options
@@ -637,14 +637,14 @@ module Axlsx
end
sheet_view.show_outline_symbols = true
end
-
end
+
def validate_sheet_name(name)
DataTypeValidator.validate "Worksheet.name", String, name
raise ArgumentError, (ERR_SHEET_NAME_TOO_LONG % name) if name.size > 31
raise ArgumentError, (ERR_SHEET_NAME_CHARACTER_FORBIDDEN % name) if '[]*/\?:'.chars.any? { |char| name.include? char }
name = Axlsx::coder.encode(name)
- sheet_names = @workbook.worksheets.map { |s| s.name }
+ sheet_names = @workbook.worksheets.reject { |s| s == self }.map { |s| s.name }
raise ArgumentError, (ERR_DUPLICATE_SHEET_NAME % name) if sheet_names.include?(name)
end