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.
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.
On my system, ruby 1.8.2 (2004-12-25) [i386-mswin32], the first two
seemed to work:
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 P. 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.