diff --git a/lib/monetize/parser.rb b/lib/monetize/parser.rb index 8d88c09a6..c83fd3e3b 100644 --- a/lib/monetize/parser.rb +++ b/lib/monetize/parser.rb @@ -30,7 +30,8 @@ class Parser 'NT$'=> 'TWD', '₱' => 'PHP', } - + + CURRENCY_SYMBOL_REGEX = /(? 3, 'M' => 6, 'B' => 9, 'T' => 12 } MULTIPLIER_SUFFIXES.default = 0 MULTIPLIER_REGEXP = Regexp.new(format('^(.*?\d)(%s)\b([^\d]*)$', MULTIPLIER_SUFFIXES.keys.join('|')), 'i') @@ -100,7 +101,7 @@ def apply_sign(negative, amount) end def compute_currency - match = input.match(currency_symbol_regex) + match = input.match(CURRENCY_SYMBOL_REGEX) CURRENCY_SYMBOLS[match.to_s] if match end @@ -179,17 +180,9 @@ def extract_sign(input) result end - def regex_safe_symbols - CURRENCY_SYMBOLS.keys.map { |key| Regexp.escape(key) }.join('|') - end - def split_major_minor(num, delimiter) major, minor = num.split(delimiter) [major, minor || '00'] end - - def currency_symbol_regex - /(?