Skip to content

Commit 7b64a08

Browse files
authored
Merge pull request #1320 from cerebris/default_processor_klass_deprecation
Set default processor cass by name, deprecate default_processor_klass
2 parents 879d5da + c73ab0b commit 7b64a08

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

lib/jsonapi/configuration.rb

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)