Sha256: eb23f5193f5a034f26f1685f7771c6504a649cb016e519f25495663ba022db58
Contents?: true
Size: 1.92 KB
Versions: 1
Compression:
Stored size: 1.92 KB
Contents
module RailsApiResponse module ControllerHelpers module Responses # Response methods def respond_success(message: '', data: {}) render json: ResponseTemplate.success(message_metadata(message), data) end def respond_error(message: '', instance: nil, data: {}) metadata = instance.present? ? error_instance_metadata(instance) : message_metadata(message) render json: ResponseTemplate.error(metadata, data) end def respond_exception_error(exception:, data: {}) render json: ResponseTemplate.error(error_exception_metadata(exception), data) end def respond_create_success(message: "", data: {}) render json: ResponseTemplate.create_success(message_metadata(message), data) end def respond_error_credential(message:, data: {}) render json: ResponseTemplate.error_credential(message_metadata(message), data) end def respond_error_not_found(message:, data: {}) render json: ResponseTemplate.error_not_found(message_metadata(message), data) end def respond_json(code: 200, message: '', data: {}) render json: ResponseTemplate.template(code, message_metadata(message), data) end private # Convert instance to error metadata 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, errors: errors } end # Convert exception to metadata def error_exception_metadata(exception) { message: exception.message, error_details: exception.backtrace } end # Convert message text to error metadata def message_metadata(message) { message: message } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_api_response-1.2.0 | lib/rails_api_response/controller_helpers/responses.rb |