class SweetActions::JSON::BaseAction
Attributes
response_code[R]
response_data[R]
Public Instance Methods
perform_action()
click to toggle source
# File lib/sweet_actions/json/base_action.rb, line 8 def perform_action run_action = Proc.new do before_action @response_data = action end debug_mode? ? run_action.call : fail_gracefully(run_action) controller.render status: response_code, json: response_data end
Private Instance Methods
debug_mode?()
click to toggle source
# File lib/sweet_actions/json/base_action.rb, line 37 def debug_mode? ENV['SWEET_ACTION_DEBUG_MODE'] == true end
fail_gracefully(proc)
click to toggle source
# File lib/sweet_actions/json/base_action.rb, line 20 def fail_gracefully(proc) @response_code = '200' begin proc.call rescue Exceptions::NotAuthorized => e @response_code = '401' @response_data = { message: 'not authorized' } rescue StandardError => e @response_code = '500' @response_data = { server_error: e.message } end end