<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,9 +24,9 @@ class EpisodesController &lt; ApplicationController
 
   def show
     if admin?
-      @episode = Episode.find(params[:id])
+      @episode = Episode.find_by_position!(params[:id].to_i)
     else
-      @episode = Episode.published.find(params[:id])
+      @episode = Episode.published.find_by_position!(params[:id].to_i)
     end
     if params[:id] != @episode.to_param
       headers[&quot;Status&quot;] = &quot;301 Moved Permanently&quot;</diff>
      <filename>app/controllers/episodes_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -67,7 +67,7 @@ class Episode &lt; ActiveRecord::Base
   end
   
   def to_param
-    [id, permalink].join('-')
+    [position, permalink].join('-')
   end
   
   def last_published?</diff>
      <filename>app/models/episode.rb</filename>
    </modified>
    <modified>
      <diff>@@ -48,8 +48,8 @@ describe EpisodesController, &quot;as guest&quot; do
     response.should render_template(:show)
   end
   
-  it &quot;show action should redirect to full episode URL when only id&quot; do
-    get :show, :id =&gt; Episode.first.id
+  it &quot;show action should redirect to full episode URL when only position&quot; do
+    get :show, :id =&gt; Episode.first.position
     response.should redirect_to(episode_url(Episode.first))
   end
   </diff>
      <filename>spec/controllers/episodes_controller_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -44,9 +44,9 @@ describe Episode do
     episode.permalink.should == 'hello-world-2-1'
   end
   
-  it &quot;should include id and permalink in to_param&quot; do
+  it &quot;should include position and permalink in to_param&quot; do
     episode = Factory(:episode, :name =&gt; 'Foo Bar')
-    episode.to_param.should == &quot;#{episode.id}-#{episode.permalink}&quot;
+    episode.to_param.should == &quot;#{episode.position}-foo-bar&quot;
   end
   
   it &quot;should translate single digit seconds into duration with minutes&quot; do</diff>
      <filename>spec/models/episode_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3146f0dc8b821aec7fad0f5ca7a7245227412a85</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Bates</name>
    <email>ryan@railscasts.com</email>
  </author>
  <url>http://github.com/ryanb/railscasts/commit/c9d6386feb15f9fea9129047d540a8de7b8063f4</url>
  <id>c9d6386feb15f9fea9129047d540a8de7b8063f4</id>
  <committed-date>2009-04-16T13:54:32-07:00</committed-date>
  <authored-date>2009-04-16T13:54:32-07:00</authored-date>
  <message>using position in episode URL instead of id</message>
  <tree>32b60a86f01a7e13b6a71cb45156021998a397b0</tree>
  <committer>
    <name>Ryan Bates</name>
    <email>ryan@railscasts.com</email>
  </committer>
</commit>
