module Chef::Mixin::XMLEscape::PureRuby
Constants
- CP1252
- PREDEFINED
- VALID
Public Instance Methods
xml_escape(unescaped_str)
click to toggle source
# File lib/chef/mixin/xml_escape.rb, line 105 def xml_escape(unescaped_str) begin unescaped_str.unpack("U*").map {|char| xml_escape_char!(char)}.join rescue unescaped_str.unpack("C*").map {|char| xml_escape_char!(char)}.join end end
Private Instance Methods
xml_escape_char!(char)
click to toggle source
# File lib/chef/mixin/xml_escape.rb, line 115 def xml_escape_char!(char) char = CP1252[char] || char char = 42 unless VALID.detect {|range| range.include? char} char = PREDEFINED[char] || (char<128 ? char.chr : "&##{char};") end