| Module | XTemplate::Util |
| In: |
lib/xtemplate/util.rb
|
| PredefinedEntity | = | { '<' => '<', '>' => '>', '&' => '&', '"' => '"', ''' => "'", } |
| RevPredefinedEntity | = | PredefinedEntity.invert |
| PredefinedEntities | = | PredefinedEntity.keys |
| PredefinedEntitiesRegex | = | Regexp.new("(#{PredefinedEntities.join('|')})") |
| PredefinedStrings | = | PredefinedEntity.values |
| PredefinedStringsRegex | = | Regexp.new("[#{PredefinedStrings.join}]") |
| EntityAmp | = | '&' |
| SanitizedAmp | = | '&' |
sanitize() is also implemented in xtemplate_ext.so.
# File lib/xtemplate/util.rb, line 56 def sanitize(obj) if( obj.is_a?(SanitizedString) ) obj else str = obj.to_s.gsub(EntityAmp, SanitizedAmp).gsub(PredefinedStringsRegex){|s| if( s == EntityAmp ) s else RevPredefinedEntity[s] end } SanitizedString.new(str) end end
unsanitize() is also implemented in xtemplate_ext.so.
# File lib/xtemplate/util.rb, line 72 def unsanitize(str) if( str.is_a?(SanitizedString) ) str = str.gsub(PredefinedEntitiesRegex){|s| PredefinedEntity[s] } String.new(str) else str end end