Issue #10824 has been updated by Christopher Thielen.


You're right.

I saw the newlines in my database and filed the bug but they do disappear when de-serializing, so this is not a bug.

Thanks for clearing that up.

Out of curiosity, why does it insert newlines at all? Does it have to do with YAML's readability?

----------------------------------------
Bug #10824: to_yaml incorrectly inserts return lines
https://bugs.ruby-lang.org/issues/10824#change-51439

* Author: Christopher Thielen
* Status: Assigned
* Priority: Normal
* Assignee: Aaron Patterson
* ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
~~~ruby
"{\"config_path\":\"something\",\"mode\":\"something_underscore\",\"person\":{\"id\":1,\"name\":\"Christopher Michael Thielen\",\"address\":\"First Shields Ave\"}}".to_yaml
~~~
returns:

~~~ruby
"--- '{\"config_path\":\"something\",\"mode\":\"something_underscore\",\"person\":{\"id\":1,\"name\":\"Christopher\n  Michael Thielen\",\"address\":\"First Shields Ave\"}}'\n"
~~~

Note that a newline has been inserted after the word °∆Christopher°«. It shouldn°«t be there.

Curiously enough, if we leave out, say, the °»mode°… key, thenewline shifts around:

~~~ruby
"{\"config_path\":\"something\",\"person\":{\"id\":1,\"name\":\"ChristopherMichael Thielen\",\"address\":\"First Shields Ave\"}}".to_yaml
~~~

returns:

~~~ruby
"--- '{\"config_path\":\"something\",\"person\":{\"id\":1,\"name\":\"Christopher Michael Thielen\",\"address\":\"First\n  Shields Ave\"}}'\n"
~~~

Note that the newline isn°«t after °∆Christopher' anymore butis after the word °∆First°«.

This functionality appears in at least:

ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12.5.0]

and

ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]




-- 
https://bugs.ruby-lang.org/