diff --git a/lib/active_model/serializer_support.rb b/lib/active_model/serializer_support.rb new file mode 100644 index 00000000..ed53c89a --- /dev/null +++ b/lib/active_model/serializer_support.rb @@ -0,0 +1,11 @@ +require 'active_support/core_ext/string/inflections' + +module ActiveModel + module SerializerSupport + def active_model_serializer + "#{self.class.name}Serializer".safe_constantize + end + + alias read_attribute_for_serialization send + end +end diff --git a/test/unit/active_model/serializer_support_test.rb b/test/unit/active_model/serializer_support_test.rb new file mode 100644 index 00000000..2ea2e8ac --- /dev/null +++ b/test/unit/active_model/serializer_support_test.rb @@ -0,0 +1,19 @@ +require 'newbase/test_helper' +require 'newbase/active_model/serializer_support' + +module ActiveModel + module SerializerSupport + class Test < ActiveModel::TestCase + class Model + include ActiveModel::SerializerSupport + end + + class ModelSerializer < ActiveModel::Serializer + end + + def test_active_model_returns_its_serializer + assert_equal ModelSerializer, Model.new.active_model_serializer + end + end + end +end