Это также сделает, и это немного более читабельно:
def escape_single_quotes(str)
str.gsub(/'/) { |x| "\\#{x}" }
end
Если вы хотите избежать как одинарных кавычек, так и обратной косой черты, чтобы вы могли встроить эту строку в строку в двойных кавычках, то для вас это будет делать следующее:
def escape_single_quotes_and_backslash(str)
str.gsub(/\\|'/) { |x| "\\#{x}" }
end