mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-22 22:06:50 +00:00
Merge pull request #477 from gtd/fix-as-json-with-nil
Allow serializer#as_json to be called with nil
This commit is contained in:
commit
a9e7319c7b
@ -337,6 +337,7 @@ module ActiveModel
|
|||||||
# Returns a json representation of the serializable
|
# Returns a json representation of the serializable
|
||||||
# object including the root.
|
# object including the root.
|
||||||
def as_json(options={})
|
def as_json(options={})
|
||||||
|
options ||= {}
|
||||||
if root = options.fetch(:root, @options.fetch(:root, root_name))
|
if root = options.fetch(:root, @options.fetch(:root, root_name))
|
||||||
@options[:hash] = hash = {}
|
@options[:hash] = hash = {}
|
||||||
@options[:unique_values] = {}
|
@options[:unique_values] = {}
|
||||||
|
|||||||
@ -1449,4 +1449,17 @@ class SerializerTest < ActiveModel::TestCase
|
|||||||
}
|
}
|
||||||
}, post_serializer.as_json)
|
}, post_serializer.as_json)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_as_json_with_nil_options
|
||||||
|
user = User.new
|
||||||
|
user_serializer = DefaultUserSerializer.new(user, {})
|
||||||
|
|
||||||
|
# ActiveSupport 3.1 Object#to_json generates this downstream call
|
||||||
|
assert_equal({
|
||||||
|
:default_user => {
|
||||||
|
:first_name => "Jose",
|
||||||
|
:last_name => "Valim"
|
||||||
|
}
|
||||||
|
}, user_serializer.as_json(nil))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user