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