$ irb
irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> YAML.load(YAML.dump("\n New Paragraph\nNew Line"))
ArgumentError: syntax error on line 3, col 0: `New Line'
from /usr/lib/ruby/1.8/yaml.rb:133:in `load'
from /usr/lib/ruby/1.8/yaml.rb:133:in `load'
from (irb):2
irb(main):003:0> YAML.load(YAML.dump("\n New Paragraph\n New Line"))
=> "\nNew Paragraph\nNew Line"
irb(main):004:0> YAML.load(YAML.dump("\nNew Paragraph\n New Line"))
=> "\nNew Paragraph\n New Line"
irb(main):005:0>
And If you have a class with serialized column/attribute
class Test < ActiveRecord::Base
serialize :data
end
t = Test.new(:data => {:address => "\n 123 Sesame Str\nSomeState\nSome Country"})
t.save!
p t.data
{:address=>"\n 123 Sesame Str\nSomeState\nSome Country"}
t.reload
p t.data
"--- \n:address: |-\n \n 123 Sesame Str\n SomeState\n Some Country\n"
YAML.load(t.data)
ArgumentError: syntax error on line 4, col 2: ` SomeState'
from /usr/lib/ruby/1.8/yaml.rb:133:in `load'
from /usr/lib/ruby/1.8/yaml.rb:133:in `load'
from (irb):13
Very unpleasant surprise.