Refactor
:my
=>
'code'
Codes
Refactorings
Popular
Best
Submit
Spam
Account
Logout
Login
JavaScript doesn't seem to be activated, expect things to be ugly and sloppy!
More Jobs
Recent
Closure scoping issue
Parse HTTP Accept headers
Int32 Quick Parser
Find the file with the highest mtime in a directory
While loop to get unique value
ruby metaprogramming
includes_all?
Expanding input list using jQuery
Streamline attaching onPaste behavior to fields
Which is more readable? Math.* or if (...)
Popular
Int32 Quick Parser
ruby metaprogramming
includes_all?
Find the file with the highest mtime in a directory
While loop to get unique value
Parse HTTP Accept headers
Closure scoping issue
Command Pattern from Head First Design Patterns book.
Which is more readable? Math.* or if (...)
Streamline attaching onPaste behavior to fields
Pastable version of
Format to readable XML
<div style="overflow:auto;border:solid 1px #ccc;background:#000;color:#F8F8F8"> <div class="section"> <pre style="float:left;margin:0 10px;border-right:0;color:#666;">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23</pre> <pre class="sunburst"><span style="color:#E28964;">def</span> <span style="color:#89BDFF;">format_xml</span>(<span style="color:#3E87E3;">xml</span>) formatted <span style="color:#E28964;">=</span> <span style="color:#65B042;"><span style="color:#65B042;">"</span><span style="color:#65B042;">"</span></span> <span style="color:#AEAEAE;font-style:italic;"> <span style="color:#AEAEAE;font-style:italic;">#</span> Add Newlines</span> xml <span style="color:#E28964;">=</span> xml.<span style="color:#89BDFF;">gsub</span>( <span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span><span style="color:#E9C062;"><span style="color:#E9C062;"><span style="color:#E9C062;">(</span>><span style="color:#E9C062;">)</span></span><span style="color:#E9C062;"><span style="color:#E9C062;">(</span><<span style="color:#E9C062;">)</span></span><span style="color:#E9C062;"><span style="color:#E9C062;">(</span><span style="color:#CF7D34;">\/</span>*<span style="color:#E9C062;">)</span></span></span><span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span> ) { <span style="color:#65B042;"><span style="color:#65B042;">"</span>#$1<span style="color:#DDF2A4;">\n</span>#$2#$3<span style="color:#65B042;">"</span></span> } <span style="color:#AEAEAE;font-style:italic;"> <span style="color:#AEAEAE;font-style:italic;">#</span> Add Indents</span> pad <span style="color:#E28964;">=</span> <span style="color:#3387CC;">0</span> xml.<span style="color:#89BDFF;">split</span>( <span style="color:#65B042;"><span style="color:#65B042;">"</span><span style="color:#DDF2A4;">\n</span><span style="color:#65B042;">"</span></span> ).<span style="color:#89BDFF;">each</span> <span style="color:#E28964;">do </span>|<span style="color:#3E87E3;">node</span>| <span style="color:#AEAEAE;font-style:italic;"> <span style="color:#AEAEAE;font-style:italic;">#</span> check various tag states</span> indent <span style="color:#E28964;">=</span> <span style="color:#3387CC;">0</span> <span style="color:#E28964;">if</span> node.<span style="color:#89BDFF;">match</span>( <span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span><span style="color:#E9C062;">.+<<span style="color:#CF7D34;">\/</span><span style="color:#CF7D34;">\w</span><span style="color:#E9C062;"><span style="color:#E9C062;">[</span>^><span style="color:#E9C062;">]</span></span>*>$</span><span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span> ) <span style="color:#AEAEAE;font-style:italic;"><span style="color:#AEAEAE;font-style:italic;">#</span> open and closing on the same line</span> indent <span style="color:#E28964;">=</span> <span style="color:#3387CC;">0</span> <span style="color:#E28964;">elsif</span> node.<span style="color:#89BDFF;">match</span>( <span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span><span style="color:#E9C062;">^<<span style="color:#CF7D34;">\/</span><span style="color:#CF7D34;">\w</span></span><span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span> ) <span style="color:#AEAEAE;font-style:italic;"><span style="color:#AEAEAE;font-style:italic;">#</span> closing tag</span> pad <span style="color:#E28964;">-=</span> <span style="color:#3387CC;">1</span> <span style="color:#E28964;">unless</span> pad <span style="color:#E28964;">==</span> <span style="color:#3387CC;">0</span> <span style="color:#E28964;">elsif</span> node.<span style="color:#89BDFF;">match</span>( <span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span><span style="color:#E9C062;">^<<span style="color:#CF7D34;">\w</span><span style="color:#E9C062;"><span style="color:#E9C062;">[</span>^><span style="color:#E9C062;">]</span></span>*<span style="color:#E9C062;"><span style="color:#E9C062;">[</span>^<span style="color:#CF7D34;">\/</span><span style="color:#E9C062;">]</span></span>>.*$</span><span style="color:#E9C062;"><span style="color:#E9C062;">/</span></span> ) <span style="color:#AEAEAE;font-style:italic;"><span style="color:#AEAEAE;font-style:italic;">#</span> opening tag</span> indent <span style="color:#E28964;">=</span> <span style="color:#3387CC;">1</span> <span style="color:#E28964;">else</span> indent <span style="color:#E28964;">=</span> <span style="color:#3387CC;">0</span> <span style="color:#E28964;">end</span> formatted <span style="color:#E28964;"><<</span> <span style="color:#65B042;"><span style="color:#65B042;">"</span><span style="color:#DDF2A4;">\t</span><span style="color:#65B042;">"</span></span> <span style="color:#E28964;">*</span> pad <span style="color:#E28964;">+</span> node <span style="color:#E28964;">+</span> <span style="color:#65B042;"><span style="color:#65B042;">"</span><span style="color:#DDF2A4;">\n</span><span style="color:#65B042;">"</span></span> pad <span style="color:#E28964;">+=</span> indent <span style="color:#E28964;">end</span> formatted <span style="color:#E28964;">end</span> </pre> </div> </div> <a href="http://refactormycode.com/codes/161-format-to-readable-xml" style="color:#fff" title="As seen on RefactorMyCode.com"><img alt="Small_logo" src="http://refactormycode.com/images/small_logo.gif" style="border:0" /></a>