mirror of
https://github.com/samsonjs/grape-active_model_serializers.git
synced 2026-03-25 08:45:55 +00:00
fix: Accept nil serializer (#92)
* fix: Accept nil serializer * Obey the law --------- Co-authored-by: Mateus Nava <mateus.nava@corp.globo.com> Co-authored-by: Sami Samhuri <sami@samhuri.net>
This commit is contained in:
parent
7f759b6560
commit
cce31fe187
3 changed files with 21 additions and 6 deletions
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
### 2.0.1 (Next)
|
||||
|
||||
* [#92](https://github.com/ruby-grape/grape-active_model_serializers/pull/92): Fix: accept nil serializer - [@mateusnava](https://github.com/mateusnava).
|
||||
* Your contribution here.
|
||||
|
||||
### 2.0.0 (2025/06/02)
|
||||
|
|
|
|||
|
|
@ -17,12 +17,14 @@ module Grape
|
|||
def serializer_class
|
||||
return @serializer_class if defined?(@serializer_class)
|
||||
|
||||
@serializer_class = resource_defined_class
|
||||
@serializer_class ||= collection_class
|
||||
@serializer_class ||= options[:serializer]
|
||||
@serializer_class ||= namespace_inferred_class
|
||||
@serializer_class ||= version_inferred_class
|
||||
@serializer_class ||= resource_serializer_class
|
||||
return nil if options.key?(:serializer) && options[:serializer].nil?
|
||||
|
||||
@serializer_class = resource_defined_class ||
|
||||
collection_class ||
|
||||
options[:serializer] ||
|
||||
namespace_inferred_class ||
|
||||
version_inferred_class ||
|
||||
resource_serializer_class
|
||||
end
|
||||
|
||||
def serializer_options
|
||||
|
|
|
|||
|
|
@ -52,6 +52,18 @@ describe Grape::ActiveModelSerializers::SerializerResolver do
|
|||
expect(serializer).to be_kind_of(serializer_class)
|
||||
end
|
||||
|
||||
context 'specified nil by options' do
|
||||
let(:options) {
|
||||
super().merge(
|
||||
serializer: nil
|
||||
)
|
||||
}
|
||||
|
||||
it 'returns nil' do
|
||||
expect(serializer).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'each serializer' do
|
||||
let(:options) {
|
||||
super().except(:serializer).merge(
|
||||
|
|
|
|||
Loading…
Reference in a new issue