That's part of the YAML specification.
To keep newlines, use the pipe syntax, like this:
---
signature: |
   ax890a
   b0098b

=> { 'signature' => "ax890a\nb0098b\n" }
---
There are several other newline-keeping options..
Suggested reading:
http://yaml4r.sourceforge.net/cookbook/
Look under 'blocks'

cheers,
jf

On 12/13/05, Tom Payne <ruby / tompayne.org> wrote:
> Sorry to bump, but the timing of my initial posting (early hours of
> Sunday morning European time, late Saturday US time, Sunday Japanese
> time) was probably unwise.
>
> Tom Payne wrote:
> > Hi all,
> >
> > Normally I would expect that
> >   YAML.load(x.to_yaml) == x
> > for all sensible values of x.
> >
> > However, this does not seem to be the case if the string contains
> > certain new line characters, for example:
> >   YAML.load("abc\r\n".to_yaml) # => "abc\n" ("\r" lost)
> >   YAML.load("\r\n".to_yaml)    # => ""      ("\r\n" lost)
> >   YAML.load("\n".to_yaml)      # => ""      ("\n" lost)
> >
> > My question is: how can I configure YAML to preserve my line endings?
> > I'm using Ruby 1.8.4-preview2 and have Googled for a solution without
> > success. Note that the :UseBlock option to to_yaml does not help.
> >
> > The reason that I need this functionality is that I would like to store
> > a string which includes a digital signature in a YAML document. Any
> > corruption of the line endings changes the string and consequently
> > invalidates the digital signature.
> >
> > Thanks very much,
> > --
> > Tom
>
> No more bumps (promise!)
>
> Cheers,
> --
> Tom
>
> --
> Posted via http://www.ruby-forum.com/.
>
>


--
Johannes Friestad
johannes.friestad / gmail.com