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