diff --git a/.gitignore b/.gitignore index f61f58b8..838a74e0 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ test/tmp test/version_tmp tmp *.swp +.ruby-version \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index eef6521c..61701241 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,4 @@ matrix: allow_failures: - rvm: ruby-head - env: "RAILS_VERSION=master" - - env: "RAILS_VERSION=4.0" - env: "RAILS_VERSION=3.2" - diff --git a/README.md b/README.md index 8d7049a5..d98ab729 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ serializers: ```ruby class PostSerializer < ActiveModel::Serializer - attribute :title, :body + attributes :title, :body has_many :comments @@ -43,7 +43,7 @@ and ```ruby class CommentSerializer < ActiveModel::Serializer - attribute :name, :body + attributes :name, :body belongs_to :post @@ -121,7 +121,7 @@ The generated seralizer will contain basic `attributes` and ```ruby class PostSerializer < ActiveModel::Serializer - attribute :title, :body + attributes :title, :body has_many :comments @@ -133,7 +133,7 @@ and ```ruby class CommentSerializer < ActiveModel::Serializer - attribute :name, :body + attributes :name, :body belongs_to :post_id diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 0191a883..00d10767 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -68,8 +68,10 @@ module ActiveModel else serializer_name = "#{resource.class.name}Serializer" - if Object.const_defined?(serializer_name) + begin Object.const_get(serializer_name) + rescue NameError + nil end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 0f5c013b..bd41fb6a 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -5,6 +5,8 @@ require 'action_controller' require 'action_controller/test_case' require "active_support/json" require 'minitest/autorun' +# Ensure backward compatibility with Minitest 4 +Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test) require "active_model_serializers"