diff --git a/lib/linear/mutations.rb b/lib/linear/mutations.rb index 5f34e602b..7e43a9e50 100644 --- a/lib/linear/mutations.rb +++ b/lib/linear/mutations.rb @@ -2,8 +2,9 @@ module Linear::Mutations def self.graphql_value(value) case value when String - # Strings must be enclosed in double quotes - "\"#{value.gsub("\n", '\\n')}\"" + # Strings must be enclosed in double quotes and properly escaped + escaped = value.gsub('\\', '\\\\').gsub('"', '\\"').gsub("\n", '\\n').gsub("\r", '\\r').gsub("\t", '\\t') + "\"#{escaped}\"" when Array # Arrays need to be recursively converted "[#{value.map { |v| graphql_value(v) }.join(', ')}]"