<?xml version="1.0" encoding="UTF-8"?>
<ticket>
  <assigned-user-id type="integer">141</assigned-user-id>
  <attachments-count type="integer">3</attachments-count>
  <closed type="boolean">true</closed>
  <created-at type="datetime">2008-11-12T11:12:05+00:00</created-at>
  <creator-id type="integer">813</creator-id>
  <milestone-due-on type="datetime">2009-01-31T00:00:00+00:00</milestone-due-on>
  <milestone-id type="integer" nil="true"></milestone-id>
  <number type="integer">1359</number>
  <permalink>add-optional-format-argument-to-named-routes</permalink>
  <priority type="integer">18</priority>
  <project-id type="integer">8994</project-id>
  <raw-data type="binary" nil="true" encoding="base64"></raw-data>
  <state>committed</state>
  <tag>actionpack options patch resources</tag>
  <title>Add optional :format argument to named routes</title>
  <updated-at type="datetime">2008-11-26T09:57:48+00:00</updated-at>
  <user-id type="integer">17393</user-id>
  <user-name>Repository</user-name>
  <creator-name>Tom Stuart</creator-name>
  <assigned-user-name>Michael Koziarski</assigned-user-name>
  <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
  <original-body>The discussion in #1215 has investigated ways to reduce the number of memory-hungry routes generated by `map.resources`.

Several people have suggested that we could abandon the `formatted_` named routes altogether and replace them with a `:format` parameter to the regular named routes. This seems like a more natural implementation and will avoid cluttering the route set for people who rarely or never use these routes.

Related links oourtesy of aaronbatalion:

* http://blog.hungrymachine.com/2008/11/11/how-to-save-100m-of-ram-per-mongrel-part-2
* http://gist.github.com/23712
* http://blog.hungrymachine.com/2008/11/8/how-to-save-100m-of-ram-per-mongrel

Can we get a patch together?</original-body>
  <latest-body>The discussion in #1215 has investigated ways to reduce the number of memory-hungry routes generated by `map.resources`.

Several people have suggested that we could abandon the `formatted_` named routes altogether and replace them with a `:format` parameter to the regular named routes. This seems like a more natural implementation and will avoid cluttering the route set for people who rarely or never use these routes.

Related links oourtesy of aaronbatalion:

* http://blog.hungrymachine.com/2008/11/11/how-to-save-100m-of-ram-per-mongrel-part-2
* http://gist.github.com/23712
* http://blog.hungrymachine.com/2008/11/8/how-to-save-100m-of-ram-per-mongrel

Can we get a patch together?</latest-body>
  <original-body-html>&lt;div&gt;&lt;p&gt;The discussion in &lt;a href=&quot;/projects/8994/tickets/1215&quot; title=&quot;Ticket #1215&quot;&gt;#1215&lt;/a&gt; has investigated ways to reduce the number
of memory-hungry routes generated by
&lt;code&gt;map.resources&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Several people have suggested that we could abandon the
&lt;code&gt;formatted_&lt;/code&gt; named routes altogether and replace them
with a &lt;code&gt;:format&lt;/code&gt; parameter to the regular named routes.
This seems like a more natural implementation and will avoid
cluttering the route set for people who rarely or never use these
routes.&lt;/p&gt;
&lt;p&gt;Related links oourtesy of aaronbatalion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.hungrymachine.com/2008/11/11/how-to-save-100m-of-ram-per-mongrel-part-2&quot;&gt;
http://blog.hungrymachine.com/20...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://gist.github.com/23712&quot;&gt;http://gist.github.com/23712&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.hungrymachine.com/2008/11/8/how-to-save-100m-of-ram-per-mongrel&quot;&gt;
http://blog.hungrymachine.com/20...&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Can we get a patch together?&lt;/p&gt;&lt;/div&gt;</original-body-html>
  <versions type="array">
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>The discussion in #1215 has investigated ways to reduce the number of memory-hungry routes generated by `map.resources`.

Several people have suggested that we could abandon the `formatted_` named routes altogether and replace them with a `:format` parameter to the regular named routes. This seems like a more natural implementation and will avoid cluttering the route set for people who rarely or never use these routes.

Related links oourtesy of aaronbatalion:

* http://blog.hungrymachine.com/2008/11/11/how-to-save-100m-of-ram-per-mongrel-part-2
* http://gist.github.com/23712
* http://blog.hungrymachine.com/2008/11/8/how-to-save-100m-of-ram-per-mongrel

Can we get a patch together?</body>
      <body-html>&lt;div&gt;&lt;p&gt;The discussion in &lt;a href=&quot;/projects/8994/tickets/1215&quot; title=&quot;Ticket #1215&quot;&gt;#1215&lt;/a&gt; has investigated ways to reduce the number
of memory-hungry routes generated by
&lt;code&gt;map.resources&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Several people have suggested that we could abandon the
&lt;code&gt;formatted_&lt;/code&gt; named routes altogether and replace them
with a &lt;code&gt;:format&lt;/code&gt; parameter to the regular named routes.
This seems like a more natural implementation and will avoid
cluttering the route set for people who rarely or never use these
routes.&lt;/p&gt;
&lt;p&gt;Related links oourtesy of aaronbatalion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.hungrymachine.com/2008/11/11/how-to-save-100m-of-ram-per-mongrel-part-2&quot;&gt;
http://blog.hungrymachine.com/20...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://gist.github.com/23712&quot;&gt;http://gist.github.com/23712&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.hungrymachine.com/2008/11/8/how-to-save-100m-of-ram-per-mongrel&quot;&gt;
http://blog.hungrymachine.com/20...&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Can we get a patch together?&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-12T11:12:06+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-12T11:12:10+00:00</updated-at>
      <user-id type="integer">813</user-id>
      <user-name>Tom Stuart</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I like this. Seems that http://gist.github.com/23712 has the pointers for making this so. Just needs to be wrapped up in a real patch with tests.</body>
      <body-html>&lt;div&gt;&lt;p&gt;I like this. Seems that &lt;a href=&quot;http://gist.github.com/23712&quot;&gt;http://gist.github.com/23712&lt;/a&gt; has
the pointers for making this so. Just needs to be wrapped up in a
real patch with tests.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-12T11:55:07+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-12T11:55:13+00:00</updated-at>
      <user-id type="integer">83</user-id>
      <user-name>DHH</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>At the same time it would be great to continue jeremy's work to cut down on the memory usage from the generated recognition code.</body>
      <body-html>&lt;div&gt;&lt;p&gt;At the same time it would be great to continue jeremy's work to
cut down on the memory usage from the generated recognition
code.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-12T12:01:35+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-12T12:01:38+00:00</updated-at>
      <user-id type="integer">141</user-id>
      <user-name>Michael Koziarski</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>I was working on a real patch with tests already. Will update soon. There are a couple known bugs in the above gist.</body>
      <body-html>&lt;div&gt;&lt;p&gt;I was working on a real patch with tests already. Will update
soon. There are a couple known bugs in the above gist.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-12T12:08:49+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-12T12:08:51+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">0</attachments-count>
      <body>Attached is the patch for optional .:format in routes, which decreases the number of routes by 50%, saving up to 100M of RAM on larger rails apps.

Notes:
Found one side effect when PageCachingTest.  

In  RouteSet#routes_for_controller_and_action_and_keys, routes are sorted by significant keys, subtracting the keys that are passed in.  Therefore, are 
UrlRewriter.rewrite(:controller =&gt; &quot;foo&quot;, :format =&gt; nil) and UrlRewriter.rewrite(:controller =&gt; &quot;foo&quot;) are not the same.  

I've added a test to UrlRewriterTest, and modified the RouteSet#routes_for_controller_and_action_and_keys to remove pairs with nil values, and left the PageCachingTest alone.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Attached is the patch for optional .:format in routes, which
decreases the number of routes by 50%, saving up to 100M of RAM on
larger rails apps.&lt;/p&gt;
&lt;p&gt;Notes: Found one side effect when PageCachingTest.&lt;/p&gt;
&lt;p&gt;In RouteSet#routes_for_controller_and_action_and_keys, routes
are sorted by significant keys, subtracting the keys that are
passed in. Therefore, are UrlRewriter.rewrite(:controller =&amp;gt;
&quot;foo&quot;, :format =&amp;gt; nil) and UrlRewriter.rewrite(:controller =&amp;gt;
&quot;foo&quot;) are not the same.&lt;/p&gt;
&lt;p&gt;I've added a test to UrlRewriterTest, and modified the
RouteSet#routes_for_controller_and_action_and_keys to remove pairs
with nil values, and left the PageCachingTest alone.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-13T02:08:07+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- 
:tag: actionpack options resources
</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options patch resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-13T02:08:09+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">1</attachments-count>
      <body>Aaron,

Attached is an updated diff, compatible with Tom's changes from http://github.com/rails/rails/commit/4c0921024471c0463d67f8b8fb6a115a94d343aa

All tests passing and just piped it through the test suite of a large app with a huge number of nested routes.

All seems well.Great track of thought with this !

- Lourens</body>
      <body-html>&lt;div&gt;&lt;p&gt;Aaron,&lt;/p&gt;
&lt;p&gt;Attached is an updated diff, compatible with Tom's changes from
&lt;a href=&quot;http://github.com/rails/rails/commit/4c0921024471c0463d67f8b8fb6a115a94d343aa&quot;&gt;
http://github.com/rails/rails/co...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All tests passing and just piped it through the test suite of a
large app with a huge number of nested routes.&lt;/p&gt;
&lt;p&gt;All seems well.Great track of thought with this !&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lourens&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-13T17:42:21+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options patch resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-13T17:42:24+00:00</updated-at>
      <user-id type="integer">25849</user-id>
      <user-name>Lourens Naud&#233;</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>Really nice work so far guys, if we do this we need to think about a few things:

# generation optimisations

They assume that all segments are mandatory.  This changes that and will cause them to fail to kick in even when they should.

# Deprecating the formatted_... routes nicely

the formatted routes need to warn you, and continue to work with positional arguments

formatted_person_url(1, :xml)</body>
      <body-html>&lt;div&gt;&lt;p&gt;Really nice work so far guys, if we do this we need to think
about a few things:&lt;/p&gt;
&lt;h1&gt;generation optimisations&lt;/h1&gt;
&lt;p&gt;They assume that all segments are mandatory. This changes that
and will cause them to fail to kick in even when they should.&lt;/p&gt;
&lt;h1&gt;Deprecating the formatted_... routes nicely&lt;/h1&gt;
&lt;p&gt;the formatted routes need to warn you, and continue to work with
positional arguments&lt;/p&gt;
&lt;p&gt;formatted_person_url(1, :xml)&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-14T10:35:21+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer">9903</milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options patch resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-14T10:35:26+00:00</updated-at>
      <user-id type="integer">141</user-id>
      <user-name>Michael Koziarski</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title>2.x</milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>I'd really like to see this make it into 2.3. The formatted_ stuff was a hack anyway. Would be great to get rid of it. Anyone working on this have some comments for koz's concerns?</body>
      <body-html>&lt;div&gt;&lt;p&gt;I'd really like to see this make it into 2.3. The formatted_
stuff was a hack anyway. Would be great to get rid of it. Anyone
working on this have some comments for koz's concerns?&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-23T13:17:31+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- 
:milestone: 9903
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options patch resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-23T13:17:33+00:00</updated-at>
      <user-id type="integer">83</user-id>
      <user-name>DHH</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>Attached is a new patch that gets rid of :format's, and answers Koz's concerns.

1) Included a deprecation warn for each use of formatted_url* methods.  If someone would like to suggest the proper warning text, I'm sure it can be improved.

2) Fixed the generation optimisations implementation to still work for the previously route.optimise?-able routes.

3) Started to rip out all direct calls to formatted_*, but that might need another pass to completely deprecate it.</body>
      <body-html>&lt;div&gt;&lt;p&gt;Attached is a new patch that gets rid of :format's, and answers
Koz's concerns.&lt;/p&gt;
&lt;p&gt;1) Included a deprecation warn for each use of formatted_url*
methods. If someone would like to suggest the proper warning text,
I'm sure it can be improved.&lt;/p&gt;
&lt;p&gt;2) Fixed the generation optimisations implementation to still
work for the previously route.optimise?-able routes.&lt;/p&gt;
&lt;p&gt;3) Started to rip out all direct calls to formatted_*, but that
might need another pass to completely deprecate it.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-24T07:41:16+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options patch resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-24T07:41:21+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">2</attachments-count>
      <body>correct patch attached.</body>
      <body-html>&lt;div&gt;&lt;p&gt;correct patch attached.&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">false</closed>
      <created-at type="datetime">2008-11-24T07:43:15+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- {}

</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>new</state>
      <tag>actionpack options patch resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-24T07:43:17+00:00</updated-at>
      <user-id type="integer">37059</user-id>
      <user-name>aaronbatalion</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title nil="true"></milestone-title>
    </version>
    <version type="Ticket::Version">
      <assigned-user-id type="integer">141</assigned-user-id>
      <attachments-count type="integer">3</attachments-count>
      <body>(from [fef6c32afe2276dffa0347e25808a86e7a101af1]) Added optimal formatted routes to rails, deprecating the formatted_* methods, and reducing routes creation by 50% [#1359 state:committed]

Signed-off-by: David Heinemeier Hansson &lt;david@loudthinking.com&gt;
http://github.com/rails/rails/commit/fef6c32afe2276dffa0347e25808a86e7a101af1</body>
      <body-html>&lt;div&gt;&lt;p&gt;(from [fef6c32afe2276dffa0347e25808a86e7a101af1]) Added optimal
formatted routes to rails, deprecating the formatted_* methods, and
reducing routes creation by 50% [&lt;a href=&quot;/projects/8994/tickets/1359&quot; title=&quot;Ticket #1359&quot;&gt;#1359&lt;/a&gt;
state:committed]&lt;/p&gt;
&lt;p&gt;Signed-off-by: David Heinemeier Hansson &lt;a href=&quot;mailto:david@loudthinking.com&quot;&gt;david@loudthinking.com&lt;/a&gt; &lt;a href=&quot;http://github.com/rails/rails/commit/fef6c32afe2276dffa0347e25808a86e7a101af1&quot;&gt;
http://github.com/rails/rails/co...&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</body-html>
      <closed type="boolean">true</closed>
      <created-at type="datetime">2008-11-26T09:57:47+00:00</created-at>
      <creator-id type="integer">813</creator-id>
      <diffable-attributes type="yaml">--- 
:state: new
</diffable-attributes>
      <milestone-id type="integer" nil="true"></milestone-id>
      <number type="integer">1359</number>
      <permalink>add-optional-format-argument-to-named-routes</permalink>
      <priority type="integer">0</priority>
      <project-id type="integer">8994</project-id>
      <state>committed</state>
      <tag>actionpack options patch resources</tag>
      <title>Add optional :format argument to named routes</title>
      <updated-at type="datetime">2008-11-26T09:57:48+00:00</updated-at>
      <user-id type="integer">17393</user-id>
      <user-name>Repository</user-name>
      <creator-name>Tom Stuart</creator-name>
      <assigned-user-name>Michael Koziarski</assigned-user-name>
      <url>http://rails.lighthouseapp.com/projects/8994/tickets/1359</url>
      <milestone-title nil="true"></milestone-title>
    </version>
  </versions>
  <attachments type="array">
    <attachment type="Attachment">
      <code>bbf598c8579e7a809c5beb1258d2e93b9fb3ef16</code>
      <content-type>text/plain</content-type>
      <created-at type="datetime">2008-11-13T02:08:07+00:00</created-at>
      <filename>optional_format_token_in_resource_routes.diff</filename>
      <height type="integer" nil="true"></height>
      <id type="integer">61756</id>
      <size type="integer">5881</size>
      <uploader-id type="integer">37059</uploader-id>
      <width type="integer" nil="true"></width>
      <url>http://rails.lighthouseapp.com/attachments/61756/optional_format_token_in_resource_routes.diff</url>
    </attachment>
    <attachment type="Attachment">
      <code>b6da3c0d0ba03af7f0f4cff792710c7f0eda7694</code>
      <content-type>text/plain</content-type>
      <created-at type="datetime">2008-11-13T17:42:21+00:00</created-at>
      <filename>optional_format_token_in_resource_routes.diff</filename>
      <height type="integer" nil="true"></height>
      <id type="integer">61949</id>
      <size type="integer">5926</size>
      <uploader-id type="integer">25849</uploader-id>
      <width type="integer" nil="true"></width>
      <url>http://rails.lighthouseapp.com/attachments/61949/optional_format_token_in_resource_routes.diff</url>
    </attachment>
    <attachment type="Attachment">
      <code>2a7be035c45dd0aabe502875c2d23080083aa13f</code>
      <content-type>text/plain</content-type>
      <created-at type="datetime">2008-11-24T07:43:15+00:00</created-at>
      <filename>optional_format_in_resource_routes2.patch</filename>
      <height type="integer" nil="true"></height>
      <id type="integer">64878</id>
      <size type="integer">12850</size>
      <uploader-id type="integer">37059</uploader-id>
      <width type="integer" nil="true"></width>
      <url>http://rails.lighthouseapp.com/attachments/64878/optional_format_in_resource_routes2.patch</url>
    </attachment>
  </attachments>
</ticket>
