<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Nimble Code: Rubyisms In Rails</title>
  <subtitle type="html">Jacob Harris' Weblog</subtitle>
  <id>tag:www.nimblecode.com,2005:Typo</id>
  <generator version="4.0" uri="http://typo.leetsoft.com">Typo</generator>
  <link href="http://www.nimblecode.com/xml/atom10/article/215/feed.xml" rel="self" type="application/xml+atom"/>
  <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails" rel="alternate" type="text/html"/>
  <updated>2006-05-17T12:37:12-07:00</updated>
  <entry>
    <author>
      <name>ajax ftw!</name>
    </author>
    <id>urn:uuid:cf315a2f-b3f6-47ab-87e0-52a85517f004</id>
    <published>2006-05-17T12:37:10-07:00</published>
    <updated>2006-05-17T12:37:12-07:00</updated>
    <title>Comment on Rubyisms In Rails by ajax ftw!</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails#comment-274" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;this ajax thing is neat-o&lt;/p&gt;


	&lt;p&gt;i could do this all day long&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>omgz0rs</name>
    </author>
    <id>urn:uuid:86e47ae3-5c0b-472d-8c93-efa88cda5f07</id>
    <published>2006-05-17T12:36:14-07:00</published>
    <updated>2006-05-17T12:36:18-07:00</updated>
    <title>Comment on Rubyisms In Rails by omgz0rs</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails#comment-273" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;omgwtfbbq&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>yay!</name>
    </author>
    <id>urn:uuid:82c1895b-afae-4734-b3a8-eaee00540775</id>
    <published>2006-05-17T12:35:53-07:00</published>
    <updated>2006-05-17T12:35:53-07:00</updated>
    <title>Comment on Rubyisms In Rails by yay!</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails#comment-272" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;yayness!!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jeff Whitmire</name>
    </author>
    <id>urn:uuid:c63cf1fc-62ff-4a20-ba7c-b6b23544047c</id>
    <published>2006-05-10T09:10:46-07:00</published>
    <updated>2006-05-10T09:10:47-07:00</updated>
    <title>Comment on Rubyisms In Rails by Jeff Whitmire</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails#comment-230" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Very nice work Jacob!  You may not be Amy Hoy (sorry, you know), but this is very well done.  Maybe you could be Amy&amp;#8217;s super-hero sidekick.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Daniel A</name>
    </author>
    <id>urn:uuid:ff58da5a-62fd-4eac-bf5c-7b4d1d81e259</id>
    <published>2006-05-09T15:36:20-07:00</published>
    <updated>2006-05-09T15:36:20-07:00</updated>
    <title>Comment on Rubyisms In Rails by Daniel A</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails#comment-229" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Awesome!  Thanks a lot!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jason Morrison</name>
    </author>
    <id>urn:uuid:1c091c29-7263-4cb9-bc46-d819cfc46317</id>
    <published>2006-05-09T15:24:50-07:00</published>
    <updated>2006-05-09T15:24:51-07:00</updated>
    <title>Comment on Rubyisms In Rails by Jason Morrison</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails#comment-228" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Great stuff, thanks for putting this out there!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Amy Hoy</name>
    </author>
    <id>urn:uuid:74edd649-5523-4170-bf59-965fef47e656</id>
    <published>2006-04-25T12:17:33-07:00</published>
    <updated>2006-04-25T12:17:33-07:00</updated>
    <title>Comment on Rubyisms In Rails by Amy Hoy</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails#comment-216" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Oh Em Gee! There can be only one!!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Jacob Harris</name>
      <email>harrisj@nimblecode.com</email>
    </author>
    <id>urn:uuid:12a5164c-0a8b-4924-8661-9d66a0e6a691</id>
    <published>2006-04-25T10:44:00-07:00</published>
    <updated>2008-08-19T01:26:24-07:00</updated>
    <title>Rubyisms In Rails</title>
    <link href="http://www.nimblecode.com/articles/2006/04/25/rubyisms-in-rails" rel="alternate" type="text/html"/>
    <category term="web-coding" scheme="http://www.nimblecode.com/articles/category/215" label="Web Coding"/>
    <category term="programming" scheme="http://www.nimblecode.com/articles/category/215" label="Programming"/>
    <category term="ruby" scheme="http://www.nimblecode.com/articles/tag"/>
    <category term="rails" scheme="http://www.nimblecode.com/articles/tag"/>
    <content type="html">&lt;p&gt;In an apparently blatant attempt to be more like &lt;a href="http://www.slash7.com/"&gt;Amy Hoy&lt;/a&gt;, I&amp;#8217;ve decided it&amp;#8217;s time I did some Intro to Rails writing. Tonight I&amp;#8217;m going to be giving a little talk on what I&amp;#8217;m calling &lt;strong&gt;Rubyisms&lt;/strong&gt; as seen in Ruby on Rails. I think one of the things that makes Rails so cool is how it is built upon some of the best aspects of Ruby&amp;#8217;s style: duck typing, symbols, blocks, and metaprogramming. And yet, I think many newcomers to Rails don&amp;#8217;t really notice some of the magic going on behind such simple declarations as&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="punct"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="number"&gt;30&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;minutes&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;from_now&lt;/span&gt; &lt;span class="punct"&gt;%&amp;gt;&lt;/span&gt;&lt;span class="string"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;or more complicated Rails cases like&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;Review&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;ActiveRecord&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Base&lt;/span&gt;
  &lt;span class="ident"&gt;belongs_to&lt;/span&gt; &lt;span class="symbol"&gt;:article&lt;/span&gt;
  &lt;span class="ident"&gt;validates_presence_of&lt;/span&gt; &lt;span class="symbol"&gt;:author&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;My humble little slideshow goes out to those Rails newcomers hacking code to look like &lt;span class="caps"&gt;PHP&lt;/span&gt; or Java. The conceit is to use some sample Rails code as starting points for deeper explorations into some of the Ruby coolness lurking inside Rails. This is a nice little look under the hood, but I hope it will educate people new to Rails on how to embrace Ruby style for cleaner and &lt;em&gt;cooler&lt;/em&gt; code.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m posting the slides early for some last minute feedback and I might update these files if any other errors are found. I&amp;#8217;d like to thank &lt;a href="http://www.nycruby.org/"&gt;NYC.rb&lt;/a&gt; compatriots &lt;a href="http://www.zonageek.com/"&gt;Sebastian Delmont&lt;/a&gt;, &lt;a href="http://locomotive.raaum.org/home/show/HomePage"&gt;Ryan Raaum&lt;/a&gt;, &lt;a href="http://www.lifecoding.com/"&gt;Trotter Cashion&lt;/a&gt;, and &lt;a href="http://www.rubypowerandlight.com/"&gt;David Black&lt;/a&gt; for their help and corrections as well.&lt;/p&gt;


	&lt;p&gt;The presentation itself is two parts. I&amp;#8217;m releasing it here in two style. The &lt;em&gt;light version&lt;/em&gt; is stripped of interstitial chapter screens and is a lot easier on the bandwidth:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="/files/rubynewbies-lite.pdf"&gt;PDF Version&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="/files/rubynewbies-lite.swf"&gt;Flash Version&lt;/a&gt; (&lt;strong&gt;Note&lt;/strong&gt;: Flash version is cutting off bottoms of some slides)&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;If you like what you see there and want to get the version I&amp;#8217;m presenting with images, the full 2MB &lt;span class="caps"&gt;PDF&lt;/span&gt; dump is also available:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="/files/rubynewbies.pdf"&gt;Huge &lt;span class="caps"&gt;PDF &lt;/span&gt;Version&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Anyhow, I hope you enjoy my little presentation, and as always feedback and corrections are welcome in the comments.&lt;/p&gt;


	&lt;h3&gt;Update (8/2/06)&lt;/h3&gt;


	&lt;p&gt;This presentation is now available for sale as a &lt;a href="http://www.informit.com/shortcuts"&gt;digital shortcut from Informit&lt;/a&gt; (54 pages, $9.99). Please see my &lt;a href="http://www.nimblecode.com/articles/2006/08/02/rubyisms-in-rails-redux"&gt;Rubyisms Redux&lt;/a&gt; for a small pitch and purchasing links. Thank you!&lt;/p&gt;</content>
  </entry>
</feed>
