@@ -18,7 +18,7 @@ class Configuration
18
18
:default_paginator ,
19
19
:default_page_size ,
20
20
:maximum_page_size ,
21
- :default_processor_klass ,
21
+ :default_processor_klass_name ,
22
22
:use_text_errors ,
23
23
:top_level_links_include_pagination ,
24
24
:top_level_meta_include_record_count ,
@@ -110,7 +110,7 @@ def initialize
110
110
111
111
# The default Operation Processor to use if one is not defined specifically
112
112
# for a Resource.
113
- self . default_processor_klass = JSONAPI ::Processor
113
+ self . default_processor_klass_name = ' JSONAPI::Processor'
114
114
115
115
# Allows transactions for creating and updating records
116
116
# Set this to false if your backend does not support transactions (e.g. Mongodb)
@@ -225,9 +225,19 @@ def exception_class_whitelisted?(e)
225
225
end
226
226
227
227
def default_processor_klass = ( default_processor_klass )
228
+ ActiveSupport ::Deprecation . warn ( '`default_processor_klass` has been replaced by `default_processor_klass_name`.' )
228
229
@default_processor_klass = default_processor_klass
229
230
end
230
231
232
+ def default_processor_klass
233
+ @default_processor_klass ||= default_processor_klass_name . safe_constantize
234
+ end
235
+
236
+ def default_processor_klass_name = ( default_processor_klass_name )
237
+ @default_processor_klass = nil
238
+ @default_processor_klass_name = default_processor_klass_name
239
+ end
240
+
231
241
def allow_include = ( allow_include )
232
242
ActiveSupport ::Deprecation . warn ( '`allow_include` has been replaced by `default_allow_include_to_one` and `default_allow_include_to_many` options.' )
233
243
@default_allow_include_to_one = allow_include
0 commit comments