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:
parent
786bc55209
commit
0975858cdb
4 changed files with 24 additions and 62 deletions
|
@ -13,12 +13,9 @@ class NodeController < ApplicationController
|
||||||
if node
|
if node
|
||||||
node.user_id = @user.id
|
node.user_id = @user.id
|
||||||
node.visible = true
|
node.visible = true
|
||||||
|
node.save_with_history!
|
||||||
|
|
||||||
if node.save_with_history
|
render :text => node.id.to_s, :content_type => "text/plain"
|
||||||
render :text => node.id.to_s, :content_type => "text/plain"
|
|
||||||
else
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
render :nothing => true, :status => :bad_request
|
render :nothing => true, :status => :bad_request
|
||||||
end
|
end
|
||||||
|
@ -38,8 +35,6 @@ class NodeController < ApplicationController
|
||||||
end
|
end
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
render :nothing => true, :status => :not_found
|
render :nothing => true, :status => :not_found
|
||||||
rescue
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -55,12 +50,9 @@ class NodeController < ApplicationController
|
||||||
node.latitude = new_node.latitude
|
node.latitude = new_node.latitude
|
||||||
node.longitude = new_node.longitude
|
node.longitude = new_node.longitude
|
||||||
node.tags = new_node.tags
|
node.tags = new_node.tags
|
||||||
|
node.save_with_history!
|
||||||
|
|
||||||
if node.save_with_history
|
render :nothing => true
|
||||||
render :nothing => true
|
|
||||||
else
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
render :nothing => true, :status => :bad_request
|
render :nothing => true, :status => :bad_request
|
||||||
end
|
end
|
||||||
|
@ -69,8 +61,6 @@ class NodeController < ApplicationController
|
||||||
end
|
end
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
render :nothing => true, :status => :not_found
|
render :nothing => true, :status => :not_found
|
||||||
rescue
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -84,7 +74,8 @@ class NodeController < ApplicationController
|
||||||
else
|
else
|
||||||
node.user_id = @user.id
|
node.user_id = @user.id
|
||||||
node.visible = 0
|
node.visible = 0
|
||||||
node.save_with_history
|
node.save_with_history!
|
||||||
|
|
||||||
render :nothing => true
|
render :nothing => true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -92,8 +83,6 @@ class NodeController < ApplicationController
|
||||||
end
|
end
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
render :nothing => true, :status => :not_found
|
render :nothing => true, :status => :not_found
|
||||||
rescue
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -19,12 +19,9 @@ class SegmentController < ApplicationController
|
||||||
segment.user_id = @user.id
|
segment.user_id = @user.id
|
||||||
segment.from_node = Node.find(segment.node_a.to_i)
|
segment.from_node = Node.find(segment.node_a.to_i)
|
||||||
segment.to_node = Node.find(segment.node_b.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"
|
||||||
render :text => segment.id.to_s, :content_type => "text/plain"
|
|
||||||
else
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render :nothing => true, :status => :bad_request
|
render :nothing => true, :status => :bad_request
|
||||||
|
@ -45,8 +42,6 @@ class SegmentController < ApplicationController
|
||||||
end
|
end
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
render :nothing => true, :status => :not_found
|
render :nothing => true, :status => :not_found
|
||||||
rescue
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -68,12 +63,9 @@ class SegmentController < ApplicationController
|
||||||
segment.node_b = new_segment.node_b
|
segment.node_b = new_segment.node_b
|
||||||
segment.tags = new_segment.tags
|
segment.tags = new_segment.tags
|
||||||
segment.visible = new_segment.visible
|
segment.visible = new_segment.visible
|
||||||
|
segment.save_with_history!
|
||||||
|
|
||||||
if segment.save_with_history
|
render :nothing => true
|
||||||
render :nothing => true
|
|
||||||
else
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render :nothing => true, :status => :bad_request
|
render :nothing => true, :status => :bad_request
|
||||||
|
@ -83,8 +75,6 @@ class SegmentController < ApplicationController
|
||||||
end
|
end
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
render :nothing => true, :status => :not_found
|
render :nothing => true, :status => :not_found
|
||||||
rescue
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -98,20 +88,15 @@ class SegmentController < ApplicationController
|
||||||
else
|
else
|
||||||
segment.user_id = @user.id
|
segment.user_id = @user.id
|
||||||
segment.visible = 0
|
segment.visible = 0
|
||||||
|
segment.save_with_history!
|
||||||
|
|
||||||
if segment.save_with_history
|
render :nothing => true
|
||||||
render :nothing => true
|
|
||||||
else
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
render :nothing => true, :status => :gone
|
render :nothing => true, :status => :gone
|
||||||
end
|
end
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
render :nothing => true, :status => :not_found
|
render :nothing => true, :status => :not_found
|
||||||
rescue
|
|
||||||
render :nothing => true, :status => :internal_server_error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -68,18 +68,12 @@ class Node < ActiveRecord::Base
|
||||||
return node
|
return node
|
||||||
end
|
end
|
||||||
|
|
||||||
def save_with_history
|
def save_with_history!
|
||||||
begin
|
Node.transaction do
|
||||||
Node.transaction do
|
self.timestamp = Time.now
|
||||||
self.timestamp = Time.now
|
self.save!
|
||||||
self.save!
|
old_node = OldNode.from_node(self)
|
||||||
old_node = OldNode.from_node(self)
|
old_node.save!
|
||||||
old_node.save!
|
|
||||||
end
|
|
||||||
|
|
||||||
return true
|
|
||||||
rescue
|
|
||||||
return nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -59,18 +59,12 @@ class Segment < ActiveRecord::Base
|
||||||
return segment
|
return segment
|
||||||
end
|
end
|
||||||
|
|
||||||
def save_with_history
|
def save_with_history!
|
||||||
begin
|
Segment.transaction do
|
||||||
Segment.transaction do
|
self.timestamp = Time.now
|
||||||
self.timestamp = Time.now
|
self.save!
|
||||||
self.save!
|
old_segment = OldSegment.from_segment(self)
|
||||||
old_segment = OldSegment.from_segment(self)
|
old_segment.save!
|
||||||
old_segment.save!
|
|
||||||
end
|
|
||||||
|
|
||||||
return true
|
|
||||||
rescue
|
|
||||||
return nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue