4
4
5
5
module JSONAPI
6
6
module Rails
7
- DEFAULT_INFERRER = Hash . new do |h , k |
8
- names = k . to_s . split ( '::' )
9
- klass = names . pop
10
- h [ k ] = [ *names , "Serializable#{ klass } " ] . join ( '::' ) . safe_constantize
11
- end
12
-
13
7
class SuccessRenderer
14
8
def initialize ( renderer = JSONAPI ::Serializable ::Renderer . new )
15
9
@renderer = renderer
@@ -28,12 +22,12 @@ def render(resources, options, controller)
28
22
# @api private
29
23
def default_options ( options , controller , resources )
30
24
options . dup . tap do |opts |
31
- opts [ :class ] ||= DEFAULT_INFERRER
25
+ opts [ :class ] ||= controller . jsonapi_class
32
26
if ( pagination_links = controller . jsonapi_pagination ( resources ) )
33
27
( opts [ :links ] ||= { } ) . merge! ( pagination_links )
34
28
end
35
29
opts [ :expose ] = controller . jsonapi_expose . merge! ( opts [ :expose ] || { } )
36
- opts [ :jsonapi ] = opts [ :jsonapi_object ] || controller . jsonapi_object
30
+ opts [ :jsonapi ] = opts . delete ( :jsonapi_object ) || controller . jsonapi_object
37
31
end
38
32
end
39
33
end
@@ -58,8 +52,7 @@ def render(errors, options, controller)
58
52
# @api private
59
53
def default_options ( options , controller )
60
54
options . dup . tap do |opts |
61
- # TODO(lucas): Make this configurable.
62
- opts [ :class ] ||= DEFAULT_INFERRER
55
+ opts [ :class ] ||= controller . jsonapi_class
63
56
unless opts [ :class ] . key? ( :'ActiveModel::Errors' )
64
57
opts [ :class ] [ :'ActiveModel::Errors' ] =
65
58
JSONAPI ::Rails ::SerializableActiveModelErrors
0 commit comments