diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 00eed5bc8..c378724b9 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -180,6 +180,10 @@ def json_key end end + def as_json + self.class.adapter.new(self).as_json + end + def id object.id if object end diff --git a/test/adapter_test.rb b/test/adapter_test.rb index d76559d55..c72e3638e 100644 --- a/test/adapter_test.rb +++ b/test/adapter_test.rb @@ -38,6 +38,10 @@ def test_create_adapter_with_override adapter = ActiveModel::Serializer::Adapter.create(@serializer, { adapter: :json_api}) assert_equal ActiveModel::Serializer::Adapter::JsonApi, adapter.class end + + def test_as_json_is_sent_to_adapter + assert_equal @serializer.as_json, {name: nil, description: nil} + end end end end