3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/napa/grape_extenders.rb', line 3
def self.extended(modified_class)
if defined?(::ActiveRecord)
modified_class.rescue_from ::ActiveRecord::RecordNotFound do |e|
err = Napa::JsonError.new(:record_not_found, 'record not found')
Napa::Logger.logger.debug Napa::Logger.response(404, {}, err)
rack_response(err.to_json, 404)
end
modified_class.rescue_from ::ActiveRecord::RecordInvalid do |e|
err = Napa::JsonError.new(:unprocessable_entity, e.message, e.record.errors.messages)
Napa::Logger.logger.debug Napa::Logger.response(422, {}, err)
rack_response(err.to_json, 422)
end
end
if defined?(::AASM)
modified_class.rescue_from ::AASM::InvalidTransition do |e|
err = Napa::JsonError.new(:unprocessable_entity, e.message)
Napa::Logger.logger.debug Napa::Logger.response(422, {}, err)
rack_response(err.to_json, 422)
end
end
end
|