@@ -18,7 +18,7 @@ class Configuration
1818 :default_paginator ,
1919 :default_page_size ,
2020 :maximum_page_size ,
21- :default_processor_klass ,
21+ :default_processor_klass_name ,
2222 :use_text_errors ,
2323 :top_level_links_include_pagination ,
2424 :top_level_meta_include_record_count ,
@@ -110,7 +110,7 @@ def initialize
110110
111111 # The default Operation Processor to use if one is not defined specifically
112112 # for a Resource.
113- self . default_processor_klass = JSONAPI ::Processor
113+ self . default_processor_klass_name = ' JSONAPI::Processor'
114114
115115 # Allows transactions for creating and updating records
116116 # Set this to false if your backend does not support transactions (e.g. Mongodb)
@@ -225,9 +225,19 @@ def exception_class_whitelisted?(e)
225225 end
226226
227227 def default_processor_klass = ( default_processor_klass )
228+ ActiveSupport ::Deprecation . warn ( '`default_processor_klass` has been replaced by `default_processor_klass_name`.' )
228229 @default_processor_klass = default_processor_klass
229230 end
230231
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+
231241 def allow_include = ( allow_include )
232242 ActiveSupport ::Deprecation . warn ( '`allow_include` has been replaced by `default_allow_include_to_one` and `default_allow_include_to_many` options.' )
233243 @default_allow_include_to_one = allow_include
0 commit comments