Избегайте одинарные кавычки в строке и интерполируйте эту строку в другую строку с неэкранированными одинарными кавычками - PullRequest
0 голосов
/ 11 мая 2018

Попытка заставить работать вызов curl

Вот код рубина

msg = "john's message"

@body = %Q|{"body":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"#{msg}"}]}]}}|.gsub("'"){"\\'"}

puts @body

curl_call = %Q|curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer xxxx' -d '#{@body}' --url 'https://api.atlassian.com/site/xxxx/conversation/xxxx/message'|

puts curl_call

system(curl_call)

Это ошибка: sh: 1: Syntax error: Unterminated quoted string

Открыть для предложений

1 Ответ

0 голосов
/ 11 мая 2018

Когда вы заменяете ' на кодировку Юникод (\u0027), тогда это работает:

.gsub("'", "\u0027")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...