Issue #9300 has been updated by charliesome (Charlie Somerville).


It seems legit to me:

    >> YAML.load(YAML.dump({"key"=>%{<%= ENV["HOME"] %>}}))
    => {"key"=>"<%= ENV[\"HOME\"] %>"}

Psych is correctly round-tripping the data, so I don't think there's any incorrect escaping happening here.
----------------------------------------
Bug #9300: YAML Regression Concerning Escaping of Strings
https://bugs.ruby-lang.org/issues/9300#change-43905

Author: schneems (Richard Schneeman)
Status: Open
Priority: Normal
Assignee: tenderlovemaking (Aaron Patterson)
Category: 
Target version: current: 2.2.0
ruby -v: 2.1.0
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


=begin
When you run this code against Ruby 2.1.0 and previous versions you get different results:


 require 'YAML'
 yaml1 = {"key" => %Q{<%= ENV["PATH"] %>} }.to_yaml
 puts yaml1

Ruby 2.1.0 incorrectly escapes the quote


 ---
 key: "<%= ENV[\"PATH\"] %>"
  
While previous versions do not. Here is my original document for debugging this issue:

https://gist.github.com/schneems/8127922

=end



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