Sha256: 6f526d8eb3ed50f8d244b74792e2413684322e71caca7e3c700325e4de8ff836

Contents?: true

Size: 611 Bytes

Versions: 6

Compression:

Stored size: 611 Bytes

Contents

module Ctws
  module Response
    # responds with JSON and an HTTP status code (200 by default)
    # json_response(@todo, :created)
    def payload? object, status
      case status
      when :not_found, :unprocessable_entity, :unauthorized, :invalid_token
        self.errors_payload(object)
      else
        self.data_payload(object)
      end
    end

    def json_response(object = {}, status = :ok)
      render json: self.payload?(object, status), status: status
    end

    def data_payload(object)
      {data: object}
    end
    def errors_payload(object)
      {errors: object}
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ctws-0.2.3.beta app/controllers/concerns/ctws/response.rb
ctws-0.2.2.beta app/controllers/concerns/ctws/response.rb
ctws-0.2.1.beta app/controllers/concerns/ctws/response.rb
ctws-0.2.0.beta app/controllers/concerns/ctws/response.rb
ctws-0.1.14.beta app/controllers/concerns/ctws/response.rb
ctws-0.1.13.alpha app/controllers/concerns/ctws/response.rb