add parameter to REST api for todos to limit result to active todos. Fixes #1388

This commit is contained in:
Reinier Balt 2014-05-16 15:33:45 +02:00
parent 4cde8ce78b
commit 595806be87
3 changed files with 27 additions and 2 deletions

View file

@ -47,7 +47,10 @@ class TodosController < ApplicationController
headers['Content-Type']=Mime::TEXT.to_s
render :content_type => Mime::TEXT
end
format.xml { render :xml => @todos.to_xml( *todo_xml_params ) }
format.xml do
@xml_todos = params[:limit_to_active_todos] ? @not_done_todos : @todos
render :xml => @xml_todos.to_xml( *todo_xml_params )
end
format.any(:rss, :atom) { @feed_title, @feed_description = 'Tracks Actions', "Actions for #{current_user.display_name}" }
format.ics
end

View file

@ -79,6 +79,15 @@ field to <code>ID, created_at, modified_at, completed_at</code> by adding the pa
</code>
</pre>
If you only want to get the active todos, you add the parameter <code>limit_to_active_todos</code> and set it to some value like this:
<pre>
<code>
$ curl -u username:p4ssw0rd -H "Content-Type: text/xml" \
<%= root_url %>todos.xml?limit_to_active_todos=1
</code>
</pre>
<h2>Writing to the API</h2>
<p>The API provides mechanisms for adding, updating and deleting resources using the HTTP methods <code>PUT</code>, <code>POST</code> and <code>DELETE</code> in combination with the content.</p>