module Chef::Mixin::XMLEscape::PureRuby
Constants
- CP1252
- PREDEFINED
- VALID
Public Instance Methods
Source
# File lib/chef/mixin/xml_escape.rb, line 105 def xml_escape(unescaped_str) unescaped_str.unpack("U*").map { |char| xml_escape_char!(char) }.join rescue unescaped_str.unpack("C*").map { |char| xml_escape_char!(char) }.join end
Private Instance Methods
Source
# File lib/chef/mixin/xml_escape.rb, line 113 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