diff --git a/README.md b/README.md index 2785240..04c4518 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,21 @@ Voight-Kampff relies on a [user agent](http://en.wikipedia.org/wiki/User_agent) Installation ------------ + `gem install voight_kampff` +If you're using Rails and want to add `ActionDispatch::Request#bot?` and `ActionDispatch::Request#human?` methods, require `voight_kampff/rails`: + +```Gemfile +gem 'voight_kampff', require: 'voight_kampff/rails' +``` + +if you're using pure Rack, require it the following way: + +```Gemfile +gem 'voight_kampff', require: 'voight_kampff/rack' +``` + Configuration ------------- @@ -49,6 +62,23 @@ In general the `#bot?` command tends to include all of these and I'm sure it's u Also, the gem no longer extends `ActionDispatch::Request` instead it extends `Rack::Request` which `ActionDispatch::Request` inherits from. This allows the same functionality for Rails while opening the gem up to other rack-based projects. +Upgrading to version 2.0 +------------------------ + +If you use Rails and `ActionDispatch::Request#bot?` and `ActionDispatch::Request#human?` methods, change your gemfile: + +```diff +-gem 'voight_kampff' ++gem 'voight_kampff', require: 'voight_kampff/rails' +``` + +If you use Rack, change your gemfile: + +```diff +-gem 'voight_kampff' ++gem 'voight_kampff', require: 'voight_kampff/rack' +``` + FAQ --- __Q:__ __What's with the name?__ diff --git a/lib/voight_kampff.rb b/lib/voight_kampff.rb index 1446322..20329eb 100644 --- a/lib/voight_kampff.rb +++ b/lib/voight_kampff.rb @@ -2,8 +2,6 @@ require 'voight_kampff/test' require 'voight_kampff/methods' -require 'voight_kampff/rack_request' if defined?(Rack::Request) -require 'voight_kampff/engine' if defined?(Rails::Engine) module VoightKampff class << self diff --git a/lib/voight_kampff/rack.rb b/lib/voight_kampff/rack.rb new file mode 100644 index 0000000..0e6afce --- /dev/null +++ b/lib/voight_kampff/rack.rb @@ -0,0 +1,2 @@ +require 'voight_kampff' +require 'voight_kampff/rack_request' diff --git a/lib/voight_kampff/rails.rb b/lib/voight_kampff/rails.rb new file mode 100644 index 0000000..3475ba1 --- /dev/null +++ b/lib/voight_kampff/rails.rb @@ -0,0 +1,3 @@ +require 'voight_kampff' +require 'voight_kampff/rack' +require 'voight_kampff/engine' diff --git a/lib/voight_kampff/version.rb b/lib/voight_kampff/version.rb index 430a748..14c25dd 100644 --- a/lib/voight_kampff/version.rb +++ b/lib/voight_kampff/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module VoightKampff - VERSION = '1.1.4' + VERSION = '2.0.0' end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9140cfa..a8cf456 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,7 @@ require 'bundler/setup' require 'combustion' require 'voight_kampff' +require 'voight_kampff/rails' Combustion.initialize! :action_controller