module RailsApiResponse::ControllerHelpers::Responses
Public Instance Methods
respond_create_success(message: "", data: {})
click to toggle source
# File lib/rails_api_response/controller_helpers/responses.rb, line 19 def respond_create_success(message: "", data: {}) render json: ResponseTemplate.create_success(message_metadata(message), data) end
respond_error(message: '', instance: nil, data: {})
click to toggle source
# File lib/rails_api_response/controller_helpers/responses.rb, line 10 def respond_error(message: '', instance: nil, data: {}) metadata = instance.present? ? error_instance_metadata(instance) : message_metadata(message) render json: ResponseTemplate.error(metadata, data) end
respond_error_credential(message:, data: {})
click to toggle source
# File lib/rails_api_response/controller_helpers/responses.rb, line 23 def respond_error_credential(message:, data: {}) render json: ResponseTemplate.error_credential(message_metadata(message), data) end
respond_error_not_found(message:, data: {})
click to toggle source
# File lib/rails_api_response/controller_helpers/responses.rb, line 27 def respond_error_not_found(message:, data: {}) render json: ResponseTemplate.error_not_found(message_metadata(message), data) end
respond_exception_error(exception:, data: {})
click to toggle source
# File lib/rails_api_response/controller_helpers/responses.rb, line 15 def respond_exception_error(exception:, data: {}) render json: ResponseTemplate.error(error_exception_metadata(exception), data) end
respond_json(code: 200, message: '', data: {})
click to toggle source
# File lib/rails_api_response/controller_helpers/responses.rb, line 31 def respond_json(code: 200, message: '', data: {}) render json: ResponseTemplate.template(code, message_metadata(message), data) end
respond_success(message: '', data: {})
click to toggle source
Response methods
# File lib/rails_api_response/controller_helpers/responses.rb, line 6 def respond_success(message: '', data: {}) render json: ResponseTemplate.success(message_metadata(message), data) end
Private Instance Methods
error_exception_metadata(exception)
click to toggle source
Convert exception to metadata
# File lib/rails_api_response/controller_helpers/responses.rb, line 54 def error_exception_metadata(exception) { message: exception.message, error_details: exception.backtrace } end
error_instance_metadata(instance)
click to toggle source
Convert instance to error metadata
# File lib/rails_api_response/controller_helpers/responses.rb, line 38 def error_instance_metadata(instance) errors = [] instance.errors.to_hash.each do |k,v| errors << { field: k.to_s, description: v } end { message: instance.errors.full_messages.join(", "), messages: instance.errors.full_messages, errors: errors } end
message_metadata(message)
click to toggle source
Convert message text to error metadata
# File lib/rails_api_response/controller_helpers/responses.rb, line 62 def message_metadata(message) { message: message } end