From 127cf5adffae3ccafa519e81e1bea67d6ee76366 Mon Sep 17 00:00:00 2001 From: David Begin Date: Tue, 5 Jan 2016 19:16:02 -0800 Subject: [PATCH 1/3] Runtime error w/ Ruby 1.8.7 & Addressable >= 2.4.0 --- lib/webmock.rb | 10 ++++++++++ webmock.gemspec | 3 +-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/webmock.rb b/lib/webmock.rb index 4bc5987db..263b07189 100644 --- a/lib/webmock.rb +++ b/lib/webmock.rb @@ -53,4 +53,14 @@ require 'webmock/webmock' +if RUBY_VERSION <= "1.8.7" && Addressable::VERSION::STRING >= "2.4.0" + raise StandardError, + <<-ERR + \n\e[31m + Addressable dropped support for Ruby 1.8.7 on version 2.4.0, + please add the following to your Gemfile to be able to use WebMock: + + gem 'addressable', '< 2.4.0'\e[0m\n + ERR +end diff --git a/webmock.gemspec b/webmock.gemspec index 2d5bec219..c52d022ad 100644 --- a/webmock.gemspec +++ b/webmock.gemspec @@ -16,10 +16,9 @@ Gem::Specification.new do |s| s.rubyforge_project = 'webmock' patron_version = (RUBY_VERSION <= '1.8.7') ? '0.4.18' : '>= 0.4.18' - addressable_version = (RUBY_VERSION) > '1.8.7' ? '>= 2.3.6' : '< 2.4.0' manticore_version = (RUBY_VERSION) > '1.8.7' ? '>= 0.5.1' : '<= 0.5.1' - s.add_dependency 'addressable', addressable_version + s.add_dependency 'addressable', '>= 2.3.6' s.add_dependency 'crack', '>=0.3.2' s.add_dependency 'hashdiff' From f40fa83709e2699792a9b5d687871ad523c6f9e0 Mon Sep 17 00:00:00 2001 From: David Begin Date: Tue, 5 Jan 2016 23:12:32 -0800 Subject: [PATCH 2/3] Only run 1.8.7 with a specific Gemfile for Travis --- .travis.yml | 10 +++++++--- Gemfile | 3 +++ ruby1.8.7.gemfile | 22 ++++++++++++++++++++++ webmock.gemspec | 1 - 4 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 ruby1.8.7.gemfile diff --git a/.travis.yml b/.travis.yml index 0ae22a393..9e23f517c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ rvm: - - 1.8.7 - 1.9.2 - 1.9.3 - 2.0.0 @@ -9,14 +8,19 @@ rvm: - 2.3.0 - rbx-2 - ruby-head - - ree - jruby-9.0.0.0 - jruby-9.0.1.0 - - jruby-18mode - jruby-19mode - jruby - jruby-head matrix: + include: + - rvm: 1.8.7 + gemfile: ruby1.8.7.gemfile + - rvm: ree + gemfile: ruby1.8.7.gemfile + - rvm: jruby-18mode + gemfile: ruby1.8.7.gemfile allow_failures: - rvm: jruby-9.0.0.0 - rvm: jruby-18mode diff --git a/Gemfile b/Gemfile index fb12b151d..92a8f0bac 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,9 @@ source 'http://rubygems.org/' gemspec + +gem 'addressable', '>= 2.3.6' + if ENV["EM_HTTP_REQUEST_0_X"] gem 'em-http-request', '~> 0.3.0' end diff --git a/ruby1.8.7.gemfile b/ruby1.8.7.gemfile new file mode 100644 index 000000000..e9caee370 --- /dev/null +++ b/ruby1.8.7.gemfile @@ -0,0 +1,22 @@ +source 'http://rubygems.org/' + +gemspec + +gem 'addressable', '< 2.4.0' + +if ENV["EM_HTTP_REQUEST_0_X"] + gem 'em-http-request', '~> 0.3.0' +end + +group :development do + gem 'rake' +end + +group :test do + gem 'minitest_tu_shim', '1.3.2' +end + +platforms :jruby do + gem 'jruby-openssl' +end + diff --git a/webmock.gemspec b/webmock.gemspec index c52d022ad..4f62fc0ba 100644 --- a/webmock.gemspec +++ b/webmock.gemspec @@ -18,7 +18,6 @@ Gem::Specification.new do |s| patron_version = (RUBY_VERSION <= '1.8.7') ? '0.4.18' : '>= 0.4.18' manticore_version = (RUBY_VERSION) > '1.8.7' ? '>= 0.5.1' : '<= 0.5.1' - s.add_dependency 'addressable', '>= 2.3.6' s.add_dependency 'crack', '>=0.3.2' s.add_dependency 'hashdiff' From 97f08a5313cdbdd54e29b1fc7ea6608e717e43e1 Mon Sep 17 00:00:00 2001 From: David Begin Date: Wed, 6 Jan 2016 20:17:22 -0800 Subject: [PATCH 3/3] Adds Changelog for WebMock version 1.22.6 --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fab38611..257d4496f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## 1.22.6 + + * Fixes [issue](https://github.com/bblimke/webmock/issues/568) around + WebMock restricting [Addressable](https://github.com/sporkmonger/addressable) + version, based on Ruby 1.8.7 for all versions of Ruby. + + This change inverts that, and forces Ruby 1.8.7 users to specify in thier + Gemfile an Addressable version < 2.4.0. + + Thanks to [PikachuEXE](https://github.com/PikachuEXE) and + [Matthew Rudy Jacobs](https://github.com/matthewrudy). + ## 1.22.5 * Fixes [bug](https://github.com/bblimke/webmock/issues/565) where WebMock tries