Text Utils provides a namespace to define TOKENs, ATOMs, PHRASEs and CONTROL characters that are OK per RFC 2822.
It also provides methods you can call to determine if a string is safe
Returns true if the string supplied is free from characters not allowed as an ATOM
# File lib/tmail/utils.rb, line 123 def atom_safe?( str ) not ATOM_UNSAFE === str end
Provides a method to join a domain name by it's parts and also makes it ATOM safe by quoting it as needed
# File lib/tmail/utils.rb, line 169 def join_domain( arr ) arr.map {|i| if /\A\[.*\]\z/ === i i else quote_atom(i) end }.join('.') end
If the string supplied has ATOM unsafe characters in it, will return the string quoted in double quotes, otherwise returns the string unmodified
# File lib/tmail/utils.rb, line 129 def quote_atom( str ) (ATOM_UNSAFE === str) ? dquote(str) : str end
If the string supplied has PHRASE unsafe characters in it, will return the string quoted in double quotes, otherwise returns the string unmodified
# File lib/tmail/utils.rb, line 135 def quote_phrase( str ) (PHRASE_UNSAFE === str) ? dquote(str) : str end
If the string supplied has TOKEN unsafe characters in it, will return the string quoted in double quotes, otherwise returns the string unmodified
# File lib/tmail/utils.rb, line 146 def quote_token( str ) (TOKEN_UNSAFE === str) ? dquote(str) : str end
Takes a time zone string from an EMail and converts it to Unix Time (seconds)
# File lib/tmail/utils.rb, line 228 def timezone_string_to_unixtime( str ) if m = /([\+\-])(\d\d?)(\d\d)/.match(str) sec = (m[2].to_i * 60 + m[3].to_i) * 60 m[1] == '-' ? -sec : sec else min = ZONESTR_TABLE[str.downcase] or raise SyntaxError, "wrong timezone format '#{str}'" min * 60 end end
Generated with the Darkfish Rdoc Generator 2.