Skip to content

Commit f4e61b6

Browse files
committed
Add text errors and a translation for codes to text.
1 parent dda7233 commit f4e61b6

2 files changed

Lines changed: 32 additions & 2 deletions

File tree

lib/jsonapi/error.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@ def initialize(options={})
88
@detail = options[:detail]
99
@id = options[:id]
1010
@href = options[:href]
11-
@code = options[:code]
11+
@code = if JSONAPI.configuration.use_text_errors
12+
TEXT_ERRORS[options[:code]]
13+
else
14+
options[:code]
15+
end
1216
@path = options[:path]
1317
@links = options[:links]
1418
@status = options[:status]
1519
end
1620
end
17-
end
21+
end

lib/jsonapi/error_codes.rb

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,30 @@ module JSONAPI
2323
RECORD_NOT_FOUND = 404
2424
UNSUPPORTED_MEDIA_TYPE = 415
2525
LOCKED = 423
26+
27+
TEXT_ERRORS =
28+
{ VALIDATION_ERROR => 'VALIDATION_ERROR',
29+
INVALID_RESOURCE => 'INVALID_RESOURCE',
30+
FILTER_NOT_ALLOWED => 'FILTER_NOT_ALLOWED',
31+
INVALID_FIELD_VALUE => 'INVALID_FIELD_VALUE',
32+
INVALID_FIELD => 'INVALID_FIELD',
33+
PARAM_NOT_ALLOWED => 'PARAM_NOT_ALLOWED',
34+
PARAM_MISSING => 'PARAM_MISSING',
35+
INVALID_FILTER_VALUE => 'INVALID_FILTER_VALUE',
36+
COUNT_MISMATCH => 'COUNT_MISMATCH',
37+
KEY_ORDER_MISMATCH => 'KEY_ORDER_MISMATCH',
38+
KEY_NOT_INCLUDED_IN_URL => 'KEY_NOT_INCLUDED_IN_URL',
39+
INVALID_INCLUDE => 'INVALID_INCLUDE',
40+
RELATION_EXISTS => 'RELATION_EXISTS',
41+
INVALID_SORT_CRITERIA => 'INVALID_SORT_CRITERIA',
42+
INVALID_LINKS_OBJECT => 'INVALID_LINKS_OBJECT',
43+
TYPE_MISMATCH => 'TYPE_MISMATCH',
44+
INVALID_PAGE_OBJECT => 'INVALID_PAGE_OBJECT',
45+
INVALID_PAGE_VALUE => 'INVALID_PAGE_VALUE',
46+
INVALID_SORT_FORMAT => 'INVALID_SORT_FORMAT',
47+
INVALID_FIELD_FORMAT => 'INVALID_FIELD_FORMAT',
48+
FORBIDDEN => 'FORBIDDEN',
49+
RECORD_NOT_FOUND => 'RECORD_NOT_FOUND',
50+
UNSUPPORTED_MEDIA_TYPE => 'UNSUPPORTED_MEDIA_TYPE',
51+
LOCKED => 'LOCKED' }
2652
end

0 commit comments

Comments
 (0)