Skip to content

Commit 0811702

Browse files
committed
Refactor JSONAPI::Rails::ActiveModelError.
1 parent a7e6841 commit 0811702

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

lib/jsonapi/rails/active_model_errors.rb

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
module JSONAPI
22
module Rails
3-
class ActiveModelError
4-
def initialize(field, message, source)
5-
@field = field
6-
@message = message
7-
@source = source
3+
class ActiveModelError < Serializable::Error
4+
title do
5+
"Invalid #{@field}" unless @field.nil?
6+
end
87

9-
freeze
8+
detail do
9+
@message
1010
end
1111

12-
def as_jsonapi
13-
{}.tap do |hash|
14-
hash[:detail] = @message
15-
hash[:title] = "Invalid #{@field}" unless @field.nil?
16-
hash[:source] = { pointer: @source } unless @source.nil?
17-
end
12+
source do
13+
pointer @pointer unless @pointer.nil?
1814
end
1915
end
2016

@@ -29,7 +25,8 @@ def initialize(errors, reverse_mapping)
2925
def to_a
3026
@errors.keys.flat_map do |key|
3127
@errors.full_messages_for(key).map do |message|
32-
ActiveModelError.new(key, message, @reverse_mapping[key])
28+
ActiveModelError.new(field: key, message: message,
29+
pointer: @reverse_mapping[key])
3330
end
3431
end
3532
end

0 commit comments

Comments
 (0)