Module: CGI::Util
Instance Method Summary collapse
-
#pretty(string, shift = " ") ⇒ Object
Prettify (indent) an HTML string.
-
#rfc1123_date(time) ⇒ Object
Format a
Time
object as a String using the format specified by RFC 1123.
Instance Method Details
#pretty(string, shift = " ") ⇒ Object
Prettify (indent) an HTML string.
string
is the HTML string to indent. shift
is the indentation unit to use; it defaults to two spaces.
print CGI.pretty("<HTML><BODY></BODY></HTML>")
# <HTML>
# <BODY>
# </BODY>
# </HTML>
print CGI.pretty("<HTML><BODY></BODY></HTML>", "\t")
# <HTML>
# <BODY>
# </BODY>
# </HTML>
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/cgi/util.rb', line 34 def pretty(string, shift = " ") lines = string.gsub(/(?!\A)<.*?>/m, "\n\\0").gsub(/<.*?>(?!\n)/m, "\\0\n") end_pos = 0 while end_pos = lines.index(/^<\/(\w+)/, end_pos) element = $1.dup start_pos = lines.rindex(/^\s*<#{element}/i, end_pos) lines[start_pos ... end_pos] = "__" + lines[start_pos ... end_pos].gsub(/\n(?!\z)/, "\n" + shift) + "__" end lines.gsub(/^((?:#{Regexp::quote(shift)})*)__(?=<\/?\w)/, '\1') end |
#rfc1123_date(time) ⇒ Object
Format a Time
object as a String using the format specified by RFC 1123.
CGI.rfc1123_date(Time.now)
# Sat, 01 Jan 2000 00:00:00 GMT
13 14 15 |
# File 'lib/cgi/util.rb', line 13 def rfc1123_date(time) time.getgm.strftime("%a, %d %b %Y %T GMT") end |