diff --git a/.gitignore b/.gitignore index af948e388..a48716355 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ .rvmrc .yardoc Gemfile.lock +Gemfile.*.lock coverage/* doc/* log/* diff --git a/.travis.yml b/.travis.yml index ca2405576..07c178767 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,9 +18,13 @@ rvm: - rbx-2 - ruby-head matrix: + include: + - rvm: 2.2.2 + gemfile: Gemfile.rack-master allow_failures: - rvm: jruby-head - rvm: rbx-2 - rvm: ruby-head + - gemfile: Gemfile.rack-master fast_finish: true sudo: false diff --git a/Gemfile.rack-master b/Gemfile.rack-master new file mode 100644 index 000000000..5d78e74f7 --- /dev/null +++ b/Gemfile.rack-master @@ -0,0 +1,29 @@ +source 'https://rubygems.org' + +gem 'jruby-openssl', :platforms => :jruby +gem 'rack', github: 'rack/rack' +gem 'rake' +gem 'yard' + +group :development do + gem 'growl' + gem 'kramdown' + gem 'plymouth', :platforms => [:ruby_19, :ruby_20, :ruby_21] + gem 'pry' + gem 'pry-debugger', :platforms => [:mri_19, :mri_20] + gem 'pry-byebug', :platforms => [:mri_21] + gem 'rb-fsevent' +end + +group :test do + gem 'coveralls' + gem 'json', '>= 1.8.1', :platforms => [:jruby, :ruby_18, :ruby_19] + gem 'mime-types', '~> 1.25', :platforms => [:jruby, :ruby_18] + gem 'rack-test' + gem 'rest-client', '~> 1.6.0', :platforms => [:jruby, :ruby_18] + gem 'rspec', '~> 3.0' + gem 'rubocop', '>= 0.25', :platforms => [:ruby_19, :ruby_20, :ruby_21] + gem 'simplecov', '>= 0.9' +end + +gemspec diff --git a/lib/omniauth/builder.rb b/lib/omniauth/builder.rb index 04076604b..94621f442 100644 --- a/lib/omniauth/builder.rb +++ b/lib/omniauth/builder.rb @@ -2,7 +2,7 @@ module OmniAuth class Builder < ::Rack::Builder def initialize(app, &block) @options = nil - if rack14? + if rack14? || rack2? super else @app = app @@ -12,7 +12,11 @@ def initialize(app, &block) end def rack14? - Rack.release.split('.')[1].to_i >= 4 + Rack.release.start_with?('1.') && (Rack.release.split('.')[1].to_i >= 4) + end + + def rack2? + Rack.release.start_with? '2.' end def on_failure(&block) diff --git a/omniauth.gemspec b/omniauth.gemspec index b365f11c6..0dc89adca 100644 --- a/omniauth.gemspec +++ b/omniauth.gemspec @@ -5,7 +5,7 @@ require 'omniauth/version' Gem::Specification.new do |spec| spec.add_dependency 'hashie', ['>= 1.2', '< 4'] - spec.add_dependency 'rack', '~> 1.0' + spec.add_dependency 'rack', ['>= 1.0', '< 2.0'] spec.add_development_dependency 'bundler', '~> 1.0' spec.authors = ['Michael Bleigh', 'Erik Michaels-Ober', 'Tom Milewski'] spec.description = 'A generalized Rack framework for multiple-provider authentication.' diff --git a/spec/helper.rb b/spec/helper.rb index 99ade2672..88fd77a6b 100644 --- a/spec/helper.rb +++ b/spec/helper.rb @@ -6,7 +6,7 @@ SimpleCov.start do add_filter '/spec' - minimum_coverage(93.05) + minimum_coverage(92.93) end end