File: error_response.rb

package info (click to toggle)
ruby-flipper 0.13.0-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 4,824 kB
  • sloc: ruby: 13,183; sh: 54; makefile: 14
file content (34 lines) | stat: -rw-r--r-- 1,021 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
module Flipper
  module Api
    module ErrorResponse
      class Error
        attr_reader :http_status

        def initialize(code, message, http_status)
          @code = code
          @message = message
          @more_info =
            'https://github.com/jnunemaker/flipper/tree/master/docs/api#error-code-reference'
          @http_status = http_status
        end

        def as_json
          {
            code: @code,
            message: @message,
            more_info: @more_info,
          }
        end
      end

      ERRORS = {
        feature_not_found: Error.new(1, 'Feature not found.', 404),
        group_not_registered: Error.new(2, 'Group not registered.', 404),
        percentage_invalid:
          Error.new(3, 'Percentage must be a positive number less than or equal to 100.', 422),
        flipper_id_invalid: Error.new(4, 'Required parameter flipper_id is missing.', 422),
        name_invalid: Error.new(5, 'Required parameter name is missing.', 422),
      }.freeze
    end
  end
end