Allow exceptions processing node and segment requests to propagate and

be handled by the default handler so they are logged.
This commit is contained in:
Tom Hughes 2007-08-31 10:11:15 +00:00
parent 786bc55209
commit 0975858cdb
4 changed files with 24 additions and 62 deletions

View file

@ -13,12 +13,9 @@ class NodeController < ApplicationController
if node
node.user_id = @user.id
node.visible = true
node.save_with_history!
if node.save_with_history
render :text => node.id.to_s, :content_type => "text/plain"
else
render :nothing => true, :status => :internal_server_error
end
render :text => node.id.to_s, :content_type => "text/plain"
else
render :nothing => true, :status => :bad_request
end
@ -38,8 +35,6 @@ class NodeController < ApplicationController
end
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end
end
@ -55,12 +50,9 @@ class NodeController < ApplicationController
node.latitude = new_node.latitude
node.longitude = new_node.longitude
node.tags = new_node.tags
node.save_with_history!
if node.save_with_history
render :nothing => true
else
render :nothing => true, :status => :internal_server_error
end
render :nothing => true
else
render :nothing => true, :status => :bad_request
end
@ -69,8 +61,6 @@ class NodeController < ApplicationController
end
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end
end
@ -84,7 +74,8 @@ class NodeController < ApplicationController
else
node.user_id = @user.id
node.visible = 0
node.save_with_history
node.save_with_history!
render :nothing => true
end
else
@ -92,8 +83,6 @@ class NodeController < ApplicationController
end
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end
end

View file

@ -19,12 +19,9 @@ class SegmentController < ApplicationController
segment.user_id = @user.id
segment.from_node = Node.find(segment.node_a.to_i)
segment.to_node = Node.find(segment.node_b.to_i)
segment.save_with_history!
if segment.save_with_history
render :text => segment.id.to_s, :content_type => "text/plain"
else
render :nothing => true, :status => :internal_server_error
end
render :text => segment.id.to_s, :content_type => "text/plain"
end
else
render :nothing => true, :status => :bad_request
@ -45,8 +42,6 @@ class SegmentController < ApplicationController
end
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end
end
@ -68,12 +63,9 @@ class SegmentController < ApplicationController
segment.node_b = new_segment.node_b
segment.tags = new_segment.tags
segment.visible = new_segment.visible
segment.save_with_history!
if segment.save_with_history
render :nothing => true
else
render :nothing => true, :status => :internal_server_error
end
render :nothing => true
end
else
render :nothing => true, :status => :bad_request
@ -83,8 +75,6 @@ class SegmentController < ApplicationController
end
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end
end
@ -98,20 +88,15 @@ class SegmentController < ApplicationController
else
segment.user_id = @user.id
segment.visible = 0
segment.save_with_history!
if segment.save_with_history
render :nothing => true
else
render :nothing => true, :status => :internal_server_error
end
render :nothing => true
end
else
render :nothing => true, :status => :gone
end
rescue ActiveRecord::RecordNotFound
render :nothing => true, :status => :not_found
rescue
render :nothing => true, :status => :internal_server_error
end
end

View file

@ -68,18 +68,12 @@ class Node < ActiveRecord::Base
return node
end
def save_with_history
begin
Node.transaction do
self.timestamp = Time.now
self.save!
old_node = OldNode.from_node(self)
old_node.save!
end
return true
rescue
return nil
def save_with_history!
Node.transaction do
self.timestamp = Time.now
self.save!
old_node = OldNode.from_node(self)
old_node.save!
end
end

View file

@ -59,18 +59,12 @@ class Segment < ActiveRecord::Base
return segment
end
def save_with_history
begin
Segment.transaction do
self.timestamp = Time.now
self.save!
old_segment = OldSegment.from_segment(self)
old_segment.save!
end
return true
rescue
return nil
def save_with_history!
Segment.transaction do
self.timestamp = Time.now
self.save!
old_segment = OldSegment.from_segment(self)
old_segment.save!
end
end