<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Nick Sieger: My version of MetaRails</title>
  <subtitle type="html">do what you love</subtitle>
  <id>tag:blog.nicksieger.com,2005:Typo</id>
  <generator uri="http://www.typosphere.org" version="4.0">Typo</generator>
  <link rel="self" type="application/atom+xml" href="http://blog.nicksieger.com/xml/atom10/article/34/feed.xml"/>
  <link rel="alternate" type="text/html" href="http://blog.nicksieger.com/articles/2006/07/26/my-version-of-metarails"/>
  <updated>2007-08-31T18:02:19+00:00</updated>
  <entry>
    <author>
      <name>Nick Sieger</name>
    </author>
    <id>urn:uuid:7958e95d-3c53-4db2-9ed6-b4a04afdb64a</id>
    <published>2006-07-26T19:42:00+00:00</published>
    <updated>2007-08-31T18:02:19+00:00</updated>
    <title>My version of MetaRails</title>
    <link rel="alternate" type="text/html" href="http://blog.nicksieger.com/articles/2006/07/26/my-version-of-metarails"/>
    <category term="ruby" label="ruby" scheme="http://blog.nicksieger.com/articles/category/ruby"/>
    <category term="rails" label="rails" scheme="http://blog.nicksieger.com/articles/category/rails"/>
    <category term="metarails" scheme="http://blog.nicksieger.com/articles/tag/metarails"/>
    <content type="html">&lt;p&gt;I gave my own version of a talk on MetaRails based on &lt;a href="http://blogs.relevancellc.com/"&gt;Stuart Holloway&amp;#8217;s&lt;/a&gt; &lt;a href="http://codecite.com/presentation/ruby/rails/meta_rails"&gt;talk at RailsConf&lt;/a&gt; at the &lt;a href="http://ruby.mn/"&gt;Ruby Users of Minnesota&lt;/a&gt; meeting last night.  It was originally planned to be a regurgitation/sharing session, but since Stuart&amp;#8217;s slides &lt;a href="http://blogs.relevancellc.com/articles/2006/06/26/fixing-metarails"&gt;broke pretty badly shortly after he gave the talk&lt;/a&gt;, I created my own slides, which are &lt;a href="/files/MetaRails.pdf"&gt;available for download&lt;/a&gt;.  I did pilfer some of Stuart&amp;#8217;s content, specifically the theme/example tables, which I especially liked for their concise summary of various patterns you can see in the Rails codebase.&lt;/p&gt;

&lt;p&gt;The slides aren&amp;#8217;t quite as interesting without my narration, but maybe some of the pretty pictures in it will help with understanding singleton classes.&lt;/p&gt;

&lt;p&gt;&lt;img src="/files/MetaRails-singleton-classes.jpg" alt="singleton classes" title="singleton classes"/&gt;&lt;/p&gt;

&lt;p&gt;The first part of the talk did a slow buildup of the need for singleton classes in Ruby.  I tried to do this by showing first the language syntax for doing various simple operations (e.g., defining classes and methods), followed by an equivalent programmatic approach to the same.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m pretty happy with how the talk went, but if I were to develop it further, I&amp;#8217;d probably try to find a way to deepen the connections between the introductory material and uses of those in the Rails codebase.  As it stands, the slides show several neat examples of metaprogramming in Rails along the same lines as what Stuart presented at RailsConf.&lt;/p&gt;

&lt;p&gt;Thanks to Stuart for a great talk, and I hope you get some use out of my variation on the subject!&lt;/p&gt;</content>
  </entry>
</feed>
