Ruby で HTML を整形する

最近 HTML をゴニョゴニョする事が多いんですが、HTML が整形されておらず見づらい事がままあります。
いい感じに整形して出力したいなーと思って調べてみたら標準ライブラリに CGI.pretty というのがありました。

require "cgi"

html = <<~EOS
<!doctype html>
<html> <head> <title>Example Domain</title>
</head> <body> </body>
</html>
EOS

puts CGI.pretty html
# output:
# <!doctype html>
#
# <html>
#
#   <head>
#
#     <title>
#       Example Domain
#     </title>
#
#   </head>
#
#   <body>
#
#   </body>
#
# </html>

こういうのが標準ライブラリにあるとよいですね。

参照