# File lib/memoist.rb, line 41 def self.escape_punctuation(string) string = string.is_a?(String) ? string.dup : string.to_s return string unless string.end_with?('?'.freeze, '!'.freeze) # A String can't end in both ? and ! if string.sub!(/\?\Z/, '_query'.freeze) else string.sub!(/!\Z/, '_bang'.freeze) end string end