<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Random Ruby and Rails tips.
This blog is dedicated to deliver short, interesting and practical tidbits of the Ruby language and Ruby on Rails framework. Read more…

Your submissions are more than welcome!</description><title>Ruby Quicktips</title><generator>Tumblr (3.0; @rubyquicktips)</generator><link>http://rubyquicktips.com/</link><item><title>Using ActiveRecord to query for times within a range</title><description>&lt;p&gt;You can pass a range to query for records within that range:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://hackerinspiration.com/post/19223612745/using-activerecord-to-query-times-within-a-range" class="tumblr_blog"&gt;hackerinspiration&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;Just discovered this, something I wish I knew a LONG time ago.&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="co"&gt;Album&lt;/span&gt;.where(&lt;span class="sy"&gt;:created_at&lt;/span&gt; =&amp;gt; &lt;span class="i"&gt;2&lt;/span&gt;.days.ago..&lt;span class="co"&gt;Time&lt;/span&gt;.now)&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Which will generate the following SQL query (depending on the database):&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="co"&gt;SELECT&lt;/span&gt; &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;albums&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;.* &lt;span class="co"&gt;FROM&lt;/span&gt; &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;albums&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt; &lt;span class="co"&gt;WHERE&lt;/span&gt; (&lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;albums&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;.&lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;created_at&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt; &lt;span class="co"&gt;BETWEEN&lt;/span&gt; &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;2012-04-28 11:10:22.780712&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt; &lt;span class="co"&gt;AND&lt;/span&gt; &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;2012-04-30 11:10:22.780907&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/blockquote&gt;</description><link>http://rubyquicktips.com/post/22308979539</link><guid>http://rubyquicktips.com/post/22308979539</guid><pubDate>Thu, 03 May 2012 18:01:03 +1200</pubDate><category>rubyonrails</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Try out your helpers in the Rails console</title><description>&lt;p&gt;Ever wanted to try out any of Rails&amp;#8217; view helper methods in the console? Just include &lt;code&gt;ActionView::Helpers&lt;/code&gt; after starting the Rails console:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;include &lt;span class="co"&gt;ActionView&lt;/span&gt;::&lt;span class="co"&gt;Helpers&lt;/span&gt;
&lt;span class="c"&gt;# =&amp;gt; Object&lt;/span&gt;
text_field(&lt;span class="sy"&gt;:post&lt;/span&gt;, &lt;span class="sy"&gt;:title&lt;/span&gt;)
&lt;span class="c"&gt;# =&amp;gt; "&amp;lt;input id=\"post_title\" name=\"post[title]\" size=\"30\" type=\"text\" /&amp;gt;"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/22179967351</link><guid>http://rubyquicktips.com/post/22179967351</guid><pubDate>Tue, 01 May 2012 18:01:08 +1200</pubDate><category>rubyonrails</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Creating regular expressions with r{} literals</title><description>&lt;p&gt;Creating a &lt;a href="http://www.ruby-doc.org/core-1.9.3/Regexp.html" title="Class: Regexp (Ruby 1.9.3)"&gt;regular expression&lt;/a&gt; using the &lt;code&gt;r{}&lt;/code&gt; literals can for example be helpful when matching URLs, because you don&amp;#8217;t have to escape slashes:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;url = &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;a href="http://example.com/"&gt;http://example.com/&lt;/a&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;

&lt;span class="c"&gt;# /../ literals:&lt;/span&gt;
url.match &lt;span class="rx"&gt;&lt;span class="dl"&gt;/&lt;/span&gt;&lt;span class="k"&gt;http:&lt;/span&gt;&lt;span class="ch"&gt;\/&lt;/span&gt;&lt;span class="ch"&gt;\/&lt;/span&gt;&lt;span class="k"&gt;example&lt;/span&gt;&lt;span class="ch"&gt;\.&lt;/span&gt;&lt;span class="k"&gt;com&lt;/span&gt;&lt;span class="ch"&gt;\/&lt;/span&gt;&lt;span class="dl"&gt;/&lt;/span&gt;&lt;/span&gt;
&lt;span class="c"&gt;# =&amp;gt; #&amp;lt;MatchData "http://example.com/"&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;# %r{} literals:&lt;/span&gt;
url.match &lt;span class="rx"&gt;&lt;span class="dl"&gt;%r{&lt;/span&gt;&lt;span class="k"&gt;http://example&lt;/span&gt;&lt;span class="ch"&gt;\.&lt;/span&gt;&lt;span class="k"&gt;com/&lt;/span&gt;&lt;span class="dl"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class="c"&gt;# =&amp;gt; #&amp;lt;MatchData "http://example.com/"&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/21370656103</link><guid>http://rubyquicktips.com/post/21370656103</guid><pubDate>Thu, 19 Apr 2012 18:01:13 +1200</pubDate><category>ruby</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Create a hash from an array with Hash[*arr]</title><description>&lt;p&gt;The &lt;a href="http://www.ruby-doc.org/core-1.9.3/Hash.html#method-c-5B-5D" title="Class: Hash (Ruby 1.9.3)"&gt;Hash::[] class method&lt;/a&gt; can be used in addition to the &lt;a href="http://pivotallabs.com/users/nick/blog/articles/438-ruby-pearls-vol-1-the-splat" title="nick - Ruby Pearls vol. 1 - The Splat"&gt;splat operator&lt;/a&gt; to create a hash from an array.&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;arr = [&lt;span class="sy"&gt;:a&lt;/span&gt;, &lt;span class="i"&gt;1&lt;/span&gt;, &lt;span class="sy"&gt;:b&lt;/span&gt;, &lt;span class="i"&gt;2&lt;/span&gt;]
&lt;span class="co"&gt;Hash&lt;/span&gt;[*arr]
&lt;span class="c"&gt;# =&amp;gt; {:a =&amp;gt; 1, :b =&amp;gt; 2}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/21257842435</link><guid>http://rubyquicktips.com/post/21257842435</guid><pubDate>Tue, 17 Apr 2012 18:01:36 +1200</pubDate><category>ruby</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Rails' index_by: the easy way to convert an Array to a Hash</title><description>&lt;p&gt;As Aditya Sanghi notes in &lt;a href="http://rubyquicktips.com/post/17306181714/quickly-convert-an-array-to-a-hash" title="Ruby Quicktips - Quickly convert an Array to a Hash"&gt;&amp;#8220;Quickly convert an Array to a Hash&amp;#8221;&lt;/a&gt;, a very quick way to convert an Array to a Hash, is to use Rails&amp;#8217; &lt;a href="http://api.rubyonrails.org/classes/Enumerable.html#method-i-index_by" title="Enumerable"&gt;Enumerable#index_by&lt;/a&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="co"&gt;Post&lt;/span&gt;.all.index_by { |post| post.id }
&lt;span class="c"&gt;# =&amp;gt; { 1 =&amp;gt; #&amp;lt;Post ...&amp;gt;, 2 =&amp;gt; #&amp;lt;Post ...&amp;gt;, ... }&lt;/span&gt;

&lt;span class="co"&gt;Post&lt;/span&gt;.all.index_by(&amp;amp;&lt;span class="sy"&gt;:title&lt;/span&gt;)
&lt;span class="c"&gt;# =&amp;gt; { "My first post" =&amp;gt; #&amp;lt;Post ...&amp;gt;, "My second post" =&amp;gt; #&amp;lt;Post ...&amp;gt;, ... }&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/20959548298</link><guid>http://rubyquicktips.com/post/20959548298</guid><pubDate>Thu, 12 Apr 2012 23:28:37 +1200</pubDate><category>rubyonrails</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Convert a number string in any base to a decimal number</title><description>&lt;p&gt;As Brich Thompson notes in the comments on &lt;a href="http://rubyquicktips.com/post/18935873770/convert-between-number-bases-easily" title="Ruby Quicktips - Convert between number bases easily"&gt;&amp;#8220;Convert between number bases easily&amp;#8221;&lt;/a&gt;, you can also convert a number string in any base to a decimal number with the &lt;a href="http://www.ruby-doc.org/core-1.9.3/String.html#method-i-to_i" title="Class: String (Ruby 1.9.3)"&gt;String#to_i&lt;/a&gt; method:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;21&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;.to_i     &lt;span class="c"&gt;#=&amp;gt; 21 &lt;/span&gt;
&lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;21&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;.to_i(&lt;span class="i"&gt;8&lt;/span&gt;)  &lt;span class="c"&gt;#=&amp;gt; 17&lt;/span&gt;
&lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;21&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;.to_i(&lt;span class="i"&gt;16&lt;/span&gt;) &lt;span class="c"&gt;#=&amp;gt; 33&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/20899948441</link><guid>http://rubyquicktips.com/post/20899948441</guid><pubDate>Thu, 12 Apr 2012 00:10:14 +1200</pubDate><category>ruby</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Two Ruby tricks using method chaining and Procs</title><description>&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;[&lt;span class="i"&gt;1&lt;/span&gt;,&lt;span class="i"&gt;2&lt;/span&gt;,&lt;span class="i"&gt;3&lt;/span&gt;].each_with_object(&lt;span class="i"&gt;1&lt;/span&gt;).map(&amp;amp;&lt;span class="sy"&gt;:+&lt;/span&gt;)
&lt;span class="c"&gt;# =&amp;gt; [2, 3, 4]&lt;/span&gt;

&lt;span class="c"&gt;# Same outcome, even shorter&lt;/span&gt;
[&lt;span class="i"&gt;1&lt;/span&gt;, &lt;span class="i"&gt;2&lt;/span&gt;, &lt;span class="i"&gt;3&lt;/span&gt;].map(&amp;amp;&lt;span class="i"&gt;1&lt;/span&gt;.method(&lt;span class="sy"&gt;:+&lt;/span&gt;))
&lt;span class="c"&gt;# =&amp;gt; [2, 3, 4]&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In his blog post &lt;a href="http://andrewjgrimm.wordpress.com/2011/10/03/in-ruby-method-passes-you/" title="In Ruby, &amp;amp;method passes you! « Running late and out of timetable order"&gt;In Ruby, &amp;amp;method passes you!&lt;/a&gt;, Andrew Grimm explains how this all works.&lt;/p&gt;

&lt;p&gt;Both snippets via &lt;a href="https://twitter.com/#!/peterc/status/150044501409406978"&gt;Peter&lt;/a&gt; &lt;a href="https://twitter.com/#!/peterc/status/150204099009327105"&gt;Cooper&lt;/a&gt;.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/20458300054</link><guid>http://rubyquicktips.com/post/20458300054</guid><pubDate>Wed, 04 Apr 2012 20:02:27 +1200</pubDate><category>ruby</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Enumerable#each_with_object</title><description>&lt;p&gt;&lt;code&gt;Enumerable#each_with_object&lt;/code&gt; is quite similar to &lt;code&gt;Enumerable#inject&lt;/code&gt;, yet slightly different. From the &lt;a href="http://www.ruby-doc.org/core-1.9.3/Enumerable.html#method-i-each_with_object" title="Module: Enumerable (Ruby 1.9.3)"&gt;Ruby 1.9&lt;/a&gt; and &lt;a href="http://api.rubyonrails.org/classes/Enumerable.html#method-i-each_with_object" title="Enumerable"&gt;Rails 3&lt;/a&gt; API docs:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Iterates the given block for each element with an arbitrary object given, and returns the initially given object.&lt;/p&gt;
  
  &lt;p&gt;Iterates over a collection, passing the current element and the memo to the block. Handy for building up hashes or reducing collections down to one object.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;evens = (&lt;span class="i"&gt;1&lt;/span&gt;..&lt;span class="i"&gt;10&lt;/span&gt;).each_with_object([]) {|i, a| a &amp;lt;&amp;lt; i*&lt;span class="i"&gt;2&lt;/span&gt; }
&lt;span class="c"&gt;#=&amp;gt; [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]&lt;/span&gt;

&lt;span class="s"&gt;&lt;span class="dl"&gt;%w(&lt;/span&gt;&lt;span class="k"&gt;foo bar&lt;/span&gt;&lt;span class="dl"&gt;)&lt;/span&gt;&lt;/span&gt;.each_with_object({}) { |str, hsh| hsh[str] = str.upcase }
&lt;span class="c"&gt;# =&amp;gt; {'foo' =&amp;gt; 'FOO', 'bar' =&amp;gt; 'BAR'}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="http://rubyquicktips.com/post/16508417798/using-enumerable-inject-to-modify-a-hash#comment-421243276" title="Ruby Quicktips - Using Enumerable::inject to modify a hash"&gt;As BiHi noted on this tip on &lt;code&gt;Enumerable#inject&lt;/code&gt;&lt;/a&gt;, its example can be slightly simplified using &lt;code&gt;each_with_object&lt;/code&gt; instead of &lt;code&gt;inject&lt;/code&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;my_hash = { &lt;span class="ke"&gt;a&lt;/span&gt;: &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;foo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;, &lt;span class="ke"&gt;b&lt;/span&gt;: &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;bar&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt; }
&lt;span class="c"&gt;# =&amp;gt; {:a=&amp;gt;"foo", :b=&amp;gt;"bar"}&lt;/span&gt;

my_hash.each_with_object({}) { |(k,v), h| h[k.upcase] = v.upcase }
&lt;span class="c"&gt;# =&amp;gt; {:A=&amp;gt;"FOO", :B=&amp;gt;"BAR"}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/20104758978</link><guid>http://rubyquicktips.com/post/20104758978</guid><pubDate>Thu, 29 Mar 2012 18:00:06 +1300</pubDate><category>ruby</category><category>rubyonrails</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Mark Deprecated Code in Ruby</title><description>&lt;p&gt;To mark deprecated code in Ruby simply add a comment to the rdoc and call the &lt;code&gt;Kernel#warn&lt;/code&gt; method.  For example:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="r"&gt;class&lt;/span&gt; &lt;span class="cl"&gt;Foo&lt;/span&gt;
  &lt;span class="c"&gt;# DEPRECATED: Please use useful instead.&lt;/span&gt;
  &lt;span class="r"&gt;def&lt;/span&gt; &lt;span class="fu"&gt;useless&lt;/span&gt;
    warn &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;[DEPRECATION] `useless` is deprecated.  Please use `useful` instead.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;
    useful
  &lt;span class="r"&gt;end&lt;/span&gt;

  &lt;span class="r"&gt;def&lt;/span&gt; &lt;span class="fu"&gt;useful&lt;/span&gt;
    &lt;span class="c"&gt;# ...&lt;/span&gt;
  &lt;span class="r"&gt;end&lt;/span&gt;
&lt;span class="r"&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you&amp;#8217;re using Yard instead of rdoc, your doc comment should look like this:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="c"&gt;# @deprecated Please use {#useful} instead&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Also, don&amp;#8217;t forget to remove the deprecated method in some future release.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="http://stackoverflow.com/a/294114/210307" title="Best practice to mark deprecated code in Ruby? - Stack Overflow"&gt;Ryan McGeary&amp;#8217;s answer on stackoverflow&lt;/a&gt;.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/20002932888</link><guid>http://rubyquicktips.com/post/20002932888</guid><pubDate>Tue, 27 Mar 2012 22:32:46 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>rmdhn</dc:creator></item><item><title>Using Hash as Recursive Function with Memoization</title><description>&lt;p&gt;We can define a new Hash in a smart way by using &lt;a href="http://ruby-doc.org/core-1.9.3/Hash.html#method-c-new" title="Class: Hash (Ruby 1.9.3)"&gt;Hash#new&lt;/a&gt; and passing it a block:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;h    = &lt;span class="co"&gt;Hash&lt;/span&gt;.new {|hash,key| hash[key] = hash[key-&lt;span class="i"&gt;1&lt;/span&gt;] + hash[key-&lt;span class="i"&gt;2&lt;/span&gt;]}
h[&lt;span class="i"&gt;1&lt;/span&gt;] = &lt;span class="i"&gt;0&lt;/span&gt;
h[&lt;span class="i"&gt;2&lt;/span&gt;] = &lt;span class="i"&gt;1&lt;/span&gt;

puts h[&lt;span class="i"&gt;3&lt;/span&gt;] &lt;span class="c"&gt;#=&amp;gt; 1&lt;/span&gt;
puts h[&lt;span class="i"&gt;100&lt;/span&gt;] &lt;span class="c"&gt;#=&amp;gt; 218922995834555169026&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here an example of famous &lt;a href="http://en.wikipedia.org/wiki/Collatz_conjecture" title="Collatz conjecture - Wikipedia, the free encyclopedia"&gt;Collatz Conjecture&lt;/a&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;h    = &lt;span class="co"&gt;Hash&lt;/span&gt;.new {|hash,n| hash[n] = &lt;span class="i"&gt;1&lt;/span&gt; + (n.odd? ? hash[&lt;span class="i"&gt;3&lt;/span&gt;*n+&lt;span class="i"&gt;1&lt;/span&gt;] : hash[n/&lt;span class="i"&gt;2&lt;/span&gt;])}
h[&lt;span class="i"&gt;1&lt;/span&gt;] = &lt;span class="i"&gt;1&lt;/span&gt;

puts h[&lt;span class="i"&gt;100&lt;/span&gt;] &lt;span class="c"&gt;#=&amp;gt; 26&lt;/span&gt;
puts h[&lt;span class="i"&gt;1000&lt;/span&gt;] &lt;span class="c"&gt;#=&amp;gt; 112&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;via: &lt;a href="http://robots.thoughtbot.com/post/162185884/stupid-ruby-tricks" title="stupid ruby tricks"&gt;thoughbot&amp;#8217;s blog&lt;/a&gt;&lt;/p&gt;</description><link>http://rubyquicktips.com/post/19720734665</link><guid>http://rubyquicktips.com/post/19720734665</guid><pubDate>Thu, 22 Mar 2012 18:00:06 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>rmdhn</dc:creator></item><item><title>Block style comments</title><description>&lt;p&gt;Wrap a block of code within &lt;code&gt;=begin&lt;/code&gt; and &lt;code&gt;=end&lt;/code&gt; to comment it out.&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="c"&gt;# the comment format you're used to&lt;/span&gt;
puts &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;I am evaluated&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;

&lt;span class="c"&gt;=begin
puts "I"
puts "am"
puts "commented"
puts "out"
=end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This tip was submitted by Tim Linquist.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/19615506489</link><guid>http://rubyquicktips.com/post/19615506489</guid><pubDate>Tue, 20 Mar 2012 18:00:05 +1300</pubDate><category>beginner</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Method chaining with inject</title><description>&lt;p&gt;&lt;strong&gt;Aim:&lt;/strong&gt; perform a method chaining based on hash&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Required operation:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="co"&gt;ErrorLog&lt;/span&gt;.event_eq([&lt;span class="i"&gt;3&lt;/span&gt;, &lt;span class="i"&gt;7&lt;/span&gt;]).subdomain_like(&lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;).user_id_eq(&lt;span class="i"&gt;100&lt;/span&gt;)
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Given:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;search_opts = { &lt;span class="sy"&gt;:event_eq&lt;/span&gt; =&amp;gt; [&lt;span class="i"&gt;3&lt;/span&gt;, &lt;span class="i"&gt;7&lt;/span&gt;], &lt;span class="sy"&gt;:subdomain_like&lt;/span&gt; =&amp;gt; &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;, &lt;span class="sy"&gt;:user_id_eq&lt;/span&gt; =&amp;gt; &lt;span class="i"&gt;100&lt;/span&gt; }
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;search_opts.inject(&lt;span class="co"&gt;ErrorLog&lt;/span&gt;) { |memo, (k, v)| memo.send(k, v) }&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This tip was submitted by sumskyi.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/19332576850</link><guid>http://rubyquicktips.com/post/19332576850</guid><pubDate>Thu, 15 Mar 2012 18:02:05 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Pretend to generate</title><description>&lt;p&gt;If you&amp;#8217;re not sure what files a Rails Generator would create for you, just add the &lt;code&gt;-p&lt;/code&gt; option (or &lt;code&gt;--pretend&lt;/code&gt;) for a dry run:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;rails generate model &lt;span class="co"&gt;Blog&lt;/span&gt; -p&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/19223887750</link><guid>http://rubyquicktips.com/post/19223887750</guid><pubDate>Tue, 13 Mar 2012 18:00:06 +1300</pubDate><category>rubyonrails</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Convert between number bases easily</title><description>&lt;p&gt;It&amp;#8217;s often a requirement in various projects to convert numbers from decimal to text representations of several other bases, such as hexadecimal or binary.&lt;br/&gt;
Did you know you can convert to any base from 2 to 36 in one line in Ruby?&lt;/p&gt;

&lt;p&gt;Using the &lt;a href="http://www.ruby-doc.org/core-1.9.3/Fixnum.html#method-i-to_s" title="Class: Fixnum (Ruby 1.9.3)"&gt;Fixnum#to_s&lt;/a&gt; method, you can quickly convert any Fixnum object to the textual format of another base:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="i"&gt;255&lt;/span&gt;.to_s(&lt;span class="i"&gt;36&lt;/span&gt;) &lt;span class="c"&gt;#=&amp;gt; "73"&lt;/span&gt;
&lt;span class="i"&gt;255&lt;/span&gt;.to_s(&lt;span class="i"&gt;16&lt;/span&gt;) &lt;span class="c"&gt;#=&amp;gt; "ff"&lt;/span&gt;
&lt;span class="i"&gt;255&lt;/span&gt;.to_s(&lt;span class="i"&gt;2&lt;/span&gt;)  &lt;span class="c"&gt;#=&amp;gt; "11111111"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This tip was submitted by Nathan Kleyn.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/18935873770</link><guid>http://rubyquicktips.com/post/18935873770</guid><pubDate>Thu, 08 Mar 2012 18:00:06 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Some Array magic using transpose, map and reduce</title><description>&lt;p&gt;To add on corresponding elements of several arrays:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;a = [&lt;span class="i"&gt;1&lt;/span&gt;, &lt;span class="i"&gt;2&lt;/span&gt;, &lt;span class="i"&gt;3&lt;/span&gt;]
b = [&lt;span class="i"&gt;4&lt;/span&gt;, &lt;span class="i"&gt;5&lt;/span&gt;, &lt;span class="i"&gt;6&lt;/span&gt;]
c = [&lt;span class="i"&gt;7&lt;/span&gt;, &lt;span class="i"&gt;8&lt;/span&gt;, &lt;span class="i"&gt;9&lt;/span&gt;]

[a, b, c].transpose.map { |x| x.reduce &lt;span class="sy"&gt;:+&lt;/span&gt; }
&lt;span class="c"&gt;# =&amp;gt; [12, 15, 18]&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Given a number of arrays, each contains same number of arrays with the same length. To merge corresponding arrays:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;a = [ [&lt;span class="i"&gt;1&lt;/span&gt;, &lt;span class="i"&gt;2&lt;/span&gt;], [&lt;span class="i"&gt;3&lt;/span&gt;, &lt;span class="i"&gt;4&lt;/span&gt;] ]
b = [ [&lt;span class="i"&gt;5&lt;/span&gt;, &lt;span class="i"&gt;6&lt;/span&gt;], [&lt;span class="i"&gt;7&lt;/span&gt;, &lt;span class="i"&gt;8&lt;/span&gt;] ]
c = [ [&lt;span class="i"&gt;9&lt;/span&gt;, &lt;span class="i"&gt;10&lt;/span&gt;], [&lt;span class="i"&gt;11&lt;/span&gt;, &lt;span class="i"&gt;12&lt;/span&gt;] ]

(a.transpose + b.transpose + c.transpose).transpose
&lt;span class="c"&gt;# =&amp;gt; [[1, 2, 5, 6, 9, 10], [3, 4, 7, 8, 11, 12]]&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;To do the same job, but with arrays that are not necessarily equal in length:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;a = [ [&lt;span class="i"&gt;1&lt;/span&gt;], [&lt;span class="i"&gt;2&lt;/span&gt;, &lt;span class="i"&gt;3&lt;/span&gt;] ]
b = [ [&lt;span class="i"&gt;4&lt;/span&gt;, &lt;span class="i"&gt;5&lt;/span&gt;], [] ]
c = [ [&lt;span class="i"&gt;6&lt;/span&gt;,&lt;span class="i"&gt;7&lt;/span&gt;,&lt;span class="i"&gt;8&lt;/span&gt;], [&lt;span class="i"&gt;9&lt;/span&gt;, &lt;span class="i"&gt;10&lt;/span&gt;, &lt;span class="i"&gt;11&lt;/span&gt;, &lt;span class="i"&gt;12&lt;/span&gt;] ]

[a, b, c].transpose.map { |x| x.reduce &lt;span class="sy"&gt;:+&lt;/span&gt; }
&lt;span class="c"&gt;# =&amp;gt; [[1, 4, 5, 6, 7, 8], [2, 3, 9, 10, 11, 12]]&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Check out the documentation on &lt;a href="http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-transpose" title="Class: Array (Ruby 1.9.3)"&gt;Array#transpose&lt;/a&gt;, &lt;a href="http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-map" title="Class: Array (Ruby 1.9.3)"&gt;Array#map&lt;/a&gt; and &lt;a href="http://www.ruby-doc.org/core-1.9.3/Enumerable.html#method-i-reduce" title="Module: Enumerable (Ruby 1.9.3)"&gt;Enumerable#reduce&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This tip was submitted by Haitham Mohammad.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/18842314838</link><guid>http://rubyquicktips.com/post/18842314838</guid><pubDate>Tue, 06 Mar 2012 23:06:41 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Quick shortcut to load a SQL file in Rails</title><description>&lt;p&gt;You can easily load SQL files like this:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;rails db &amp;lt; path_to_sql_file.sql &lt;span class="c"&gt;# Rails 3 &lt;/span&gt;
script/dbconsole &amp;lt; path_to_sql_file.sql &lt;span class="c"&gt;# Rails 2&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://rubyquicktips.com/post/18538210197</link><guid>http://rubyquicktips.com/post/18538210197</guid><pubDate>Thu, 01 Mar 2012 17:48:38 +1300</pubDate><category>rubyonrails</category><category>submission</category><dc:creator>offca</dc:creator></item><item><title>Around Alias </title><description>&lt;p&gt;You can write an Around Alias in three simple steps:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;You alias a method.&lt;/li&gt;
&lt;li&gt;You redefine it.&lt;/li&gt;
&lt;li&gt;You call the old method from the new method.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Example:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="r"&gt;class&lt;/span&gt; &lt;span class="cl"&gt;String&lt;/span&gt;
  &lt;span class="r"&gt;alias&lt;/span&gt; &lt;span class="sy"&gt;:orig_length&lt;/span&gt; &lt;span class="sy"&gt;:length&lt;/span&gt;

  &lt;span class="r"&gt;def&lt;/span&gt; &lt;span class="fu"&gt;length&lt;/span&gt;
    &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;Length of string '&lt;/span&gt;&lt;span class="il"&gt;&lt;span class="idl"&gt;#{&lt;/span&gt;&lt;span class="pc"&gt;self&lt;/span&gt;&lt;span class="idl"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class="k"&gt;' is: &lt;/span&gt;&lt;span class="il"&gt;&lt;span class="idl"&gt;#{&lt;/span&gt;orig_length&lt;span class="idl"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;
  &lt;span class="r"&gt;end&lt;/span&gt;  
&lt;span class="r"&gt;end&lt;/span&gt;

&lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;abc&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;.length
&lt;span class="c"&gt;#=&amp;gt; "Length of string 'abc' is: 3"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This tip was submitted by Nimesh Nikum.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/18427759343</link><guid>http://rubyquicktips.com/post/18427759343</guid><pubDate>Tue, 28 Feb 2012 19:28:11 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Rails' include_root_in_json</title><description>&lt;p&gt;When rendering &lt;a href="http://www.json.org/" title="JSON"&gt;JSON&lt;/a&gt; from your controllers (or when using &lt;code&gt;to_json&lt;/code&gt; directly), Rails 3.1 and above won&amp;#8217;t include the root element in the output:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;post = &lt;span class="co"&gt;Post&lt;/span&gt;.first
&lt;span class="c"&gt;# =&amp;gt; #&amp;lt;Post id: 1, title: "My first blogpost" ...&lt;/span&gt;

post.to_json
&lt;span class="c"&gt;# =&amp;gt; "{\"id\":1,\"title\":\"My first blogpost\", ...}"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;To include the root element (&lt;code&gt;post&lt;/code&gt; in this example), set &lt;code&gt;ActiveRecord::Base.include_root_in_json&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="c"&gt;# wrap_paramters.rb&lt;/span&gt;
&lt;span class="r"&gt;if&lt;/span&gt; &lt;span class="r"&gt;defined?&lt;/span&gt;(&lt;span class="co"&gt;ActiveRecord&lt;/span&gt;)
  &lt;span class="co"&gt;ActiveRecord&lt;/span&gt;::&lt;span class="co"&gt;Base&lt;/span&gt;.include_root_in_json = &lt;span class="pc"&gt;true&lt;/span&gt;
&lt;span class="r"&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Result:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;post.to_json
&lt;span class="c"&gt;# =&amp;gt; "{\"post\":{\"id\":1,\"title\":\"My first blogpost\", ...}}"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In version of Rails &amp;lt; 3.1, including the root element is the default. You can disable it by adding &lt;code&gt;ActiveRecord::Base.include_root_in_json = false&lt;/code&gt; to one of your files in &lt;code&gt;config/initializers&lt;/code&gt; or in &lt;code&gt;application.rb&lt;/code&gt;/&lt;code&gt;environment.rb&lt;/code&gt; directly.&lt;/p&gt;

&lt;p&gt;More info in the &lt;a href="http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html"&gt;API docs on ActiveModel::Serializers::JSON&lt;/a&gt;.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/18115841886</link><guid>http://rubyquicktips.com/post/18115841886</guid><pubDate>Thu, 23 Feb 2012 18:00:05 +1300</pubDate><category>rubyonrails</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Naming the Process</title><description>&lt;p&gt;You can set the name of the current Ruby process, the one that you would see from the &lt;code&gt;ps&lt;/code&gt; command for example.&lt;br/&gt;
Simply assign a string to the global variable &lt;code&gt;$PROGRAM_NAME&lt;/code&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="gv"&gt;$PROGRAM_NAME&lt;/span&gt; = &lt;span class="s"&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="k"&gt;Hello from Rubyland!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/span&gt;
puts &lt;span class="gv"&gt;$0&lt;/span&gt; &lt;span class="c"&gt;# This is an alias for the same thing.&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This is a great way for long running scripts or daemon processes to communicate status information to people who are looking in on them.&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="i"&gt;5&lt;/span&gt;.times &lt;span class="r"&gt;do&lt;/span&gt; |i|
  &lt;span class="gv"&gt;$PROGRAM_NAME&lt;/span&gt; = &lt;span class="s"&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="k"&gt;Ruby Quicktips Example: On iteration &lt;/span&gt;&lt;span class="il"&gt;&lt;span class="idl"&gt;#{&lt;/span&gt;i&lt;span class="idl"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;/span&gt;
  sleep &lt;span class="i"&gt;5&lt;/span&gt; &lt;span class="c"&gt;# I'm really busy!!&lt;/span&gt;
&lt;span class="r"&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Execute something like this in your terminal:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;ps x | grep &lt;span class="co"&gt;Quicktips&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This tip was submitted by Jesse Storimer.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/17995782789</link><guid>http://rubyquicktips.com/post/17995782789</guid><pubDate>Tue, 21 Feb 2012 18:00:05 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item><item><title>Making class methods private</title><description>&lt;p&gt;This does &lt;em&gt;not&lt;/em&gt; work:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="r"&gt;class&lt;/span&gt; &lt;span class="cl"&gt;Foo&lt;/span&gt;
  private
  
  &lt;span class="r"&gt;def&lt;/span&gt; &lt;span class="pc"&gt;self&lt;/span&gt;.&lt;span class="fu"&gt;bar&lt;/span&gt;
  &lt;span class="r"&gt;end&lt;/span&gt;
&lt;span class="r"&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;code&gt;Foo.bar&lt;/code&gt; will be public.&lt;br/&gt;
To make it private, you can use &lt;a href="http://www.ruby-doc.org/core-1.9.3/Module.html#method-i-private_class_method" title="Class: Module (Ruby 1.9.3)"&gt;Module#private_class_method&lt;/a&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="r"&gt;class&lt;/span&gt; &lt;span class="cl"&gt;Foo&lt;/span&gt;
  &lt;span class="r"&gt;def&lt;/span&gt; &lt;span class="pc"&gt;self&lt;/span&gt;.&lt;span class="fu"&gt;bar&lt;/span&gt;
  &lt;span class="r"&gt;end&lt;/span&gt;

  private_class_method &lt;span class="sy"&gt;:bar&lt;/span&gt;
&lt;span class="r"&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#8230;or define it &lt;a href="http://rubyquicktips.com/post/9988400756/ways-to-define-class-methods" title="Ruby Quicktips - Ways to define class methods"&gt;differently&lt;/a&gt;:&lt;/p&gt;

&lt;div class="CodeRay"&gt;
  &lt;div class="code"&gt;&lt;pre&gt;&lt;span class="r"&gt;class&lt;/span&gt; &lt;span class="cl"&gt;Foo&lt;/span&gt;
  &lt;span class="r"&gt;class&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class="cl"&gt;self&lt;/span&gt;
    private
        
    &lt;span class="r"&gt;def&lt;/span&gt; &lt;span class="fu"&gt;bar&lt;/span&gt;
    &lt;span class="r"&gt;end&lt;/span&gt;
  &lt;span class="r"&gt;end&lt;/span&gt;
&lt;span class="r"&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This tip was submitted by two-bit-fool.&lt;/p&gt;</description><link>http://rubyquicktips.com/post/17698867568</link><guid>http://rubyquicktips.com/post/17698867568</guid><pubDate>Thu, 16 Feb 2012 18:00:00 +1300</pubDate><category>ruby</category><category>submission</category><dc:creator>danielpietzsch</dc:creator></item></channel></rss>

