diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index e5021320..fa1cfd19 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -53,9 +53,7 @@ module ActiveModel @options[:unique_values] = {} array = serializable_array.map do |item| - if item.is_a?(Hash) - item - elsif item.respond_to?(:serializable_hash) + if item.respond_to?(:serializable_hash) item.serializable_hash else item.as_json diff --git a/test/serializer_test.rb b/test/serializer_test.rb index 06593b06..082cd6bf 100644 --- a/test/serializer_test.rb +++ b/test/serializer_test.rb @@ -408,7 +408,7 @@ class SerializerTest < ActiveModel::TestCase hash = {:value => "something"} array = [hash] serializer = array.active_model_serializer.new(array, :root => :items) - assert_equal({ :items => [ hash ]}, serializer.as_json) + assert_equal({ :items => [ hash.as_json ]}, serializer.as_json) end class CustomBlog < Blog