1 class SegmentController < ApplicationController
5 before_filter :authorize
9 segment = Segment.from_xml(request.raw_post, true)
12 segment.user_id = @user.id
13 if segment.save_with_history
15 render :text => segment.id
17 render :nothing => true, :status => 500
22 render :nothing => true, :status => 400 # if we got here the doc didnt parse
27 render :nothing => true, :status => 500 # something went very wrong
31 unless Segment.exists?(params[:id])
32 render :nothing => true, :status => 400
36 segment = Segment.find(params[:id])
41 render :text => segment.to_xml.to_s
47 segment.save_with_history
48 render :nothing => true
50 render :nothing => true, :status => 410
54 new_segment = Segment.from_xml(request.raw_post)
56 segment.timestamp = Time.now
57 segment.user_id = @user.id
59 segment.latitude = new_segment.latitude
60 segment.longitude = new_segment.longitude
61 segment.tags = new_segment.tags
63 if segment.id == new_segment.id and segment.save_with_history
64 render :nothing => true, :status => 200
66 render :nothing => true, :status => 500