Fix Rails 6.0 deprecation on class.parent (#2373)

* Fix Rails 6.0 deprecation on `class.parent`

* Update Changelog

* Switch travis to openJDK

* Lock bundler on appveyor

* Rejigger gemfile to fix sqlite issue

* Lock nokogiri for ruby < 2.4

* Use rubygems < 3 to fix travis

* Use specific bundler version and do not try to uninstall

Uninstalling bundler is not allowed since it is a default gem

* Lock rake for ruby < 2.2

* Downgrade rake further to support ruby 1.9.3

* Lock rake down further, and lock simplecov

* Fix rubocop/parser and minitest version deps in CI

* Lock sprockets version

* Try fixing jruby builds

* Try remove bad gem version for jruby on CI

* Try downgrading rubygems a different way

* Do not update rubygems on jruby

* Lock gems for jruby

* Fix sprockets version lock
This commit is contained in:
Mark J. Lehman 2020-03-11 19:49:47 -07:00 committed by GitHub
parent f72ab35d9d
commit b1b253f5a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 62 additions and 13 deletions

View File

@ -10,13 +10,13 @@ rvm:
- jruby-9.1.5.0 # is precompiled per http://rubies.travis-ci.org/
jdk:
- oraclejdk8
- openjdk8
before_install:
- gem update --system
- rvm @global do gem uninstall bundler -a -x
- gem update --system 2.6.8
- if [ "$RUBY_VERSION" != "jruby-9.1.5.0" ] ; then update_rubygems ; fi
- rvm @global do gem install bundler -v 1.13.7
install: bundle install --path=vendor/bundle --retry=3 --jobs=3
install: bundle _1.13.7_ install --path=vendor/bundle --retry=3 --jobs=3
cache:
directories:
- vendor/bundle

View File

@ -2,6 +2,8 @@
### [0-9-stable](https://github.com/rails-api/active_model_serializers/compare/v0.9.7...0-9-stable)
- [#2373](https://github.com/rails-api/active_model_serializers/pull/2373) Fix Rails 6.0 deprecation warnings. (@supremebeing7)
### [v0.9.7 (2017-05-01)](https://github.com/rails-api/active_model_serializers/compare/v0.9.6...v0.9.7)
- [#2080](https://github.com/rails-api/active_model_serializers/pull/2080) remove `{ payload: nil }` from `!serialize.active_model_serializers` ActiveSupport::Notification. `payload` never had a value. Changes, for example `{ serializer: 'ActiveModel::DefaultSerializer', payload: nil }` to be `{ serializer: 'ActiveModel::DefaultSerializer' }` (@yosiat)

53
Gemfile
View File

@ -33,8 +33,22 @@ if RUBY_VERSION < '2'
gem 'mime-types', [ '>= 2.6.2', '< 3' ]
end
if RUBY_VERSION < '2.1'
gem 'nokogiri', '< 1.7'
if ENV['CI']
if RUBY_VERSION < '2.4'
# Windows: An error occurred while installing nokogiri (1.8.0)
gem 'nokogiri', '< 1.7', platforms: @windows_platforms
# >= 4.0 requires ruby >= 2.5
gem 'sprockets', '< 4.0'
end
if RUBY_VERSION < '2.2'
# >= 12.3 and < 13 requires ruby >= 2.0, rake >= 13 requires ruby >= 2.2
gem 'rake', '< 12.3'
# > 5.12 requires ruby >= 2.2
gem 'minitest', '< 5.12'
# >= 1.0 requires ruby >= 2.0
gem 'thor', '< 1.0'
end
end
# https://github.com/bundler/bundler/blob/89a8778c19269561926cea172acdcda241d26d23/lib/bundler/dependency.rb#L30-L54
@ -50,12 +64,37 @@ group :bench do
end
group :test do
gem 'sqlite3', platform: (@windows_platforms + [:ruby])
gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
gem 'simplecov', '~> 0.10', require: false, group: :development
platforms(*(@windows_platforms + [:ruby])) do
if version == 'master' || version >= '6'
gem 'sqlite3', '~> 1.4'
else
gem 'sqlite3', '~> 1.3.13'
end
end
platforms :jruby do
if version == 'master' || version >= '6.0'
gem 'activerecord-jdbcsqlite3-adapter', github: 'jruby/activerecord-jdbc-adapter'
elsif version == '5.2'
gem 'activerecord-jdbcsqlite3-adapter', '~> 52.0'
elsif version == '5.1'
gem 'activerecord-jdbcsqlite3-adapter', '~> 51.0'
elsif version == '5.0'
gem 'activerecord-jdbcsqlite3-adapter', '~> 50.0'
else
gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.0'
end
end
end
group :development, :test do
gem 'rubocop', '~> 0.34.0', require: false
unless ENV['CI']
gem 'rubocop', '~> 0.34.0', require: false
end
# 0.12 requires ruby 2.4
if RUBY_VERSION < '2.4'
gem 'simplecov', '< 0.12', require: false
else
gem 'simplecov', '~> 0.10', require: false
end
end

View File

@ -16,7 +16,7 @@ install:
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
- ruby --version
- gem --version
- gem install bundler
- gem install bundler -v 1.17.3
- bundler --version
- bundle platform
- bundle install --path=vendor/bundle --retry=3 --jobs=3

View File

@ -60,7 +60,15 @@ module ActionController
private
def namespace_for_serializer
@namespace_for_serializer ||= self.class.parent unless self.class.parent == Object
@namespace_for_serializer ||= namespace_for_class(self.class) unless namespace_for_class(self.class) == Object
end
def namespace_for_class(klass)
if Module.method_defined?(:module_parent)
klass.module_parent
else
klass.parent
end
end
def default_serializer(resource)