From 3315b01d0b5597a4590d5833f9b54b87b3baf1de Mon Sep 17 00:00:00 2001
From: Justin Aiken <60tonangel@gmail.com>
Date: Mon, 27 Apr 2015 16:31:49 -0600
Subject: [PATCH] Add a #as_json method to the serializer base

---
 lib/active_model/serializer.rb | 4 ++++
 test/adapter_test.rb           | 4 ++++
 2 files changed, 8 insertions(+)

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