Sha256: befbd96086dfc2dd4f882a1eeb66b782738515b44d3b44577dc374620a245a4e

Contents?: true

Size: 2 KB

Versions: 64

Compression:

Stored size: 2 KB

Contents

module CurationConcerns
  module API
    # Generate appropriate json response for +response_type+

    def self.generate_response_body(response_type: :success, message: nil, options: {})
      json_body = default_responses[response_type].merge(options)
      json_body[:description] = message if message
      json_body
    end

    # Default (json) responses for various response types
    def self.default_responses
      {
        success: {
          code: 200,
          message: "Request Succeeded",
          description: I18n.t('curation_concerns.api.success.default')
        },
        deleted: {
          code: 200,
          message: I18n.t('curation_concerns.api.deleted.default')
        },
        created: {
          code: 201,
          message: "Created the Resource"
        },
        accepted: {
          code: 202,
          message: "Accepted",
          description: I18n.t('curation_concerns.api.accepted.default')
        },
        bad_request: {
          code: 400,
          message: "Bad Request",
          description: I18n.t('curation_concerns.api.bad_request.default')
        },
        unauthorized: {
          code: 401,
          message: "Authentication Required",
          description: I18n.t('curation_concerns.api.unauthorized.default')
        },
        forbidden: {
          code: 403,
          message: "Not Authorized",
          description: I18n.t('curation_concerns.api.forbidden.default')
        },
        not_found: {
          code: 404,
          message: "Resource not found",
          description: I18n.t('curation_concerns.api.not_found.default')
        },
        unprocessable_entity: {
          code: 422,
          message: "Unprocessable Entity",
          description: I18n.t('curation_concerns.api.unprocessable_entity.default'),
          errors: {}
        },
        internal_error: {
          code: 500,
          message: "Internal Server Error",
          description: I18n.t('curation_concerns.api.internal_error.default')
        }
      }
    end
  end
end

Version data entries

64 entries across 64 versions & 1 rubygems

Version Path
curation_concerns-1.7.8 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.7 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-2.0.0 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-2.0.0.rc2 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.6 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.5 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.4 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.3 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.2 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-2.0.0.rc1 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.1 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.0 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.7.0.beta1 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.6.3 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.6.2 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.6.1 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.6.0 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.5.0 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.4.0 app/controllers/concerns/curation_concerns/api.rb
curation_concerns-1.3.3 app/controllers/concerns/curation_concerns/api.rb