lib/rubyxls/sheet.rb in rubyxls-1.2.0 vs lib/rubyxls/sheet.rb in rubyxls-1.2.1
- old
+ new
@@ -71,11 +71,13 @@
def sanitize_sheet_name(sheet_name)
sheet_name.gsub(/[:\[\]\/\\\*\?]/, '-')
end
def unique_sheet_name(sheet_name, taken_names, index=1)
- return sheet_name[0, 31] unless taken_names.include?(sheet_name[0, 31])
- sheet_name = "#{sheet_name[0, 29 - index.to_s.length]}(#{index})"
+ sliced_name = sheet_name.byteslice(0, 31)
+ return sliced_name unless taken_names.include?(sliced_name)
+
+ sheet_name = "#{sheet_name.byteslice(0, 28)}(#{index})"
unique_sheet_name(sheet_name, taken_names, index + 1)
end
end
end