From 34a287b33364657bc340e98be846b65fa8a77922 Mon Sep 17 00:00:00 2001 From: Weston Ganger Date: Mon, 24 Jan 2022 13:51:27 -0800 Subject: Refractor to use constant based error messages --- lib/axlsx/util/constants.rb | 6 ++++++ lib/axlsx/workbook/worksheet/worksheet.rb | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/axlsx/util/constants.rb b/lib/axlsx/util/constants.rb index 25781983..3d67088c 100644 --- a/lib/axlsx/util/constants.rb +++ b/lib/axlsx/util/constants.rb @@ -307,6 +307,12 @@ module Axlsx # error message for non 'integerish' value ERR_INTEGERISH = "You value must be, or be castable via to_i, an Integer. You provided %s".freeze + # error message for invalid cell reference + ERR_CELL_REFERENCE_INVALID = "Invalid cell definition `%s`".freeze + + # error message for cell reference with last cell missing + ERR_CELL_REFERENCE_MISSING_CELL = "Missing cell `%s` for the specified range `%s`".freeze + # Regex to match forbidden control characters # The following will be automatically stripped from worksheets. # diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index f1ec815c..cc0e56ae 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -606,11 +606,11 @@ module Axlsx parts.first else if parts.size > 2 - raise ArgumentError.new("Invalid cell definition `#{cell_def}`") + raise ArgumentError, (ERR_CELL_REFERENCE_INVALID % cell_def) elsif parts.first.nil? - raise ArgumentError.new("Missing cell `#{cell_def.split(":").first}` for the specified range `#{cell_def}`") + raise ArgumentError, (ERR_CELL_REFERENCE_MISSING_CELL % [cell_def.split(":").first, cell_def]) elsif parts.last.nil? - raise ArgumentError.new("Missing cell `#{cell_def.split(":").last}` for the specified range `#{cell_def}`") + raise ArgumentError, (ERR_CELL_REFERENCE_MISSING_CELL % [cell_def.split(":").last, cell_def]) end range(*parts) -- cgit v1.2.3