From 459a51f9b889e958bd2d15d23b0afd55374d66f9 Mon Sep 17 00:00:00 2001 From: Benjamin Fleischer Date: Sun, 12 Mar 2017 15:09:28 -0500 Subject: [PATCH 1/4] Nokogiri 1.7 removes support for Rubies < 2.1 See https://github.com/sparklemotion/nokogiri/commit/84870381847cb83b6a530f5eef2460026ade49f6 --- Gemfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Gemfile b/Gemfile index cbd8ddd1..e55e2bfe 100644 --- a/Gemfile +++ b/Gemfile @@ -28,6 +28,10 @@ if RUBY_VERSION < '2' gem 'mime-types', [ '>= 2.6.2', '< 3' ] end +if RUBY_VERSION < '2.1' + gem 'nokogiri', '< 1.7' +end + # https://github.com/bundler/bundler/blob/89a8778c19269561926cea172acdcda241d26d23/lib/bundler/dependency.rb#L30-L54 @windows_platforms = [:mswin, :mingw, :x64_mingw] From 9174e7ef20fa241779827e91e5bfd0456749bc2a Mon Sep 17 00:00:00 2001 From: Benjamin Fleischer Date: Sun, 12 Mar 2017 15:22:41 -0500 Subject: [PATCH 2/4] RBX is very hard to keep passing on CI --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 93507aa7..2d87bb02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,6 @@ rvm: - 2.1.1 - ruby-head - jruby-19mode - - rbx-2 - ruby-head sudo: false From 1b89a4b4deff0b0191a959dc671c937be614b74f Mon Sep 17 00:00:00 2001 From: Benjamin Fleischer Date: Sun, 12 Mar 2017 15:30:06 -0500 Subject: [PATCH 3/4] Update travis.yml based on master --- .travis.yml | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2d87bb02..befddbc6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,27 +1,47 @@ language: ruby -rvm: - - 1.9.3 - - 2.0.0 - - 2.1.1 - - ruby-head - - jruby-19mode - - ruby-head - sudo: false +rvm: + - 1.9.3 # EOL + - 2.0.0 # EOL + - 2.1 + - ruby-head + - jruby-9.1.5.0 # is precompiled per http://rubies.travis-ci.org/ + +jdk: + - oraclejdk8 + +before_install: + - gem update --system + - rvm @global do gem uninstall bundler -a -x + - rvm @global do gem install bundler -v 1.13.7 install: bundle install --path=vendor/bundle --retry=3 --jobs=3 cache: directories: - vendor/bundle env: - - "RAILS_VERSION=4.0" - - "RAILS_VERSION=4.1" - - "RAILS_VERSION=4.2" - - "RAILS_VERSION=master" + global: + - "JRUBY_OPTS='--dev -J-Xmx1024M --debug'" + matrix: + - "RAILS_VERSION=4.0" + - "RAILS_VERSION=4.1" + - "RAILS_VERSION=4.2" + - "RAILS_VERSION=5.0" + - "RAILS_VERSION=master" matrix: + exclude: + - rvm: 2.1 + env: RAILS_VERSION=master + - rvm: jruby-9.1.5.0 + env: RAILS_VERSION=master + - rvm: 2.1 + env: RAILS_VERSION=5.0 + - rvm: jruby-9.1.5.0 + env: RAILS_VERSION=5.0 allow_failures: - rvm: ruby-head - env: "RAILS_VERSION=master" + fast_finish: true From 02f2f864a4e53925cb125eec84394a18223bc4dd Mon Sep 17 00:00:00 2001 From: Benjamin Fleischer Date: Sun, 12 Mar 2017 16:14:29 -0500 Subject: [PATCH 4/4] Exclude 2.0 form 5.0; update deps --- .travis.yml | 8 ++++++++ Gemfile | 11 ++++++++--- lib/active_model/serializer.rb | 2 +- test/fixtures/poro.rb | 2 +- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index befddbc6..2cc4065b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,10 +33,18 @@ env: matrix: exclude: + - rvm: 1.9.3 + env: RAILS_VERSION=master + - rvm: 2.0.0 + env: RAILS_VERSION=master - rvm: 2.1 env: RAILS_VERSION=master - rvm: jruby-9.1.5.0 env: RAILS_VERSION=master + - rvm: 1.9.3 + env: RAILS_VERSION=5.0 + - rvm: 2.0.0 + env: RAILS_VERSION=5.0 - rvm: 2.1 env: RAILS_VERSION=5.0 - rvm: jruby-9.1.5.0 diff --git a/Gemfile b/Gemfile index e55e2bfe..d5d669a1 100644 --- a/Gemfile +++ b/Gemfile @@ -6,11 +6,14 @@ version = ENV["RAILS_VERSION"] || "4.2" if version == 'master' gem 'rack', github: 'rack/rack' + gem 'arel', github: 'rails/arel' + gem 'rails', github: 'rails/rails' git 'https://github.com/rails/rails.git' do gem 'railties' gem 'activesupport' gem 'activemodel' gem 'actionpack' + gem 'activerecord', group: :test # Rails 5 gem 'actionview' end @@ -18,10 +21,12 @@ if version == 'master' gem 'rails-controller-testing', github: 'rails/rails-controller-testing' else gem_version = "~> #{version}.0" + gem 'rails', gem_version gem 'railties', gem_version gem 'activesupport', gem_version gem 'activemodel', gem_version gem 'actionpack', gem_version + gem 'activerecord', gem_version, group: :test end if RUBY_VERSION < '2' @@ -36,14 +41,14 @@ end @windows_platforms = [:mswin, :mingw, :x64_mingw] # Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem 'tzinfo-data', platforms: (@windows_platforms + [:jruby]) +tzinfo_platforms = @windows_platforms +tzinfo_platforms += [:jruby] if version >= '4.1' +gem 'tzinfo-data', platforms: tzinfo_platforms group :test do - gem 'activerecord' gem 'sqlite3', platform: (@windows_platforms + [:ruby]) gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby - gem 'codeclimate-test-reporter', require: false gem 'simplecov', '~> 0.10', require: false, group: :development end diff --git a/lib/active_model/serializer.rb b/lib/active_model/serializer.rb index 9b3d6e6c..82693873 100644 --- a/lib/active_model/serializer.rb +++ b/lib/active_model/serializer.rb @@ -203,7 +203,7 @@ end if included_associations.include? name association_serializer = build_serializer(association) # we must do this always because even if the current association is not - # embeded in root, it might have its own associations that are embeded in root + # embedded in root, it might have its own associations that are embedded in root hash.merge!(association_serializer.embedded_in_root_associations) do |key, oldval, newval| if oldval.respond_to?(:to_ary) [oldval, newval].flatten.uniq diff --git a/test/fixtures/poro.rb b/test/fixtures/poro.rb index e9d36fc0..d122f097 100644 --- a/test/fixtures/poro.rb +++ b/test/fixtures/poro.rb @@ -49,7 +49,7 @@ end class SpecialPost < Post def special_comment - @speical_comment ||= Comment.new(content: 'special') + @special_comment ||= Comment.new(content: 'special') end end