adding options to update_attributes to make it rails 3.1 compatible
Previously, we would pick the next slave by shifting the slaves_list and then appending it to the end of the array. This left a critical point in between those two steps where, if we received a timeout, we would end up losing the selected slave from the slaves_list. This change modifies the slave selection process to use an index which is incremented and mod'ed, acting like a ring buffer. The slaves_list itself is never modified and remains constant even if interrupted by an unexpected timeout.
Merge pull request #63 from involver/master

Round-robin through slaves_list in a non-destructive manner
add actionpack as a development dependancy

spec helper requires action_controller, which is part of actionpack
Fix for proxy when adapter modifies the passed config

In the case of a badly behaving connection adapter that modifies the configuration hash it is given, it is possible for a Octopus::Proxy instance to be initialized with an invalid configuration hash.

Using Octopus in a threaded environment causes a new Octopus::Proxy to be created for each thread (see Octopus::Model#connection_proxy).

A badly behaving adapter may alter the configuration hash passed to it.

As the configuration hash for is memoized and reused an Octopus::Proxy instance will be initialized with an invalid configuration hash in threads subsequent to the first, failing with the error "Please install the  adapter: `gem install activerecord--adapter` (cannot load such file -- active_record/connection_adapters/_adapter)" when the "adapter" key can not be found in the hash.

To avoid this happening the config hash is duplicated before handing to the connection adapter.
Merge pull request #70 from peer2/master

The syntax for this has changed with rails 3.1 (optional parameter)
Added integration with ActiveRecord instrumentation for better logging support for Rails 3+
Spec name tweak
Update lib/octopus.rb
Merge pull request #66 from matsadler/master

Fix for proxy when adapter modifies the passed config
Merge pull request #71 from kanevski/master

Improved logging integration for Rails 3+
Replaced Gem::Version with ActiveSupport::VERSION::MAJOR/MINOR
Merge pull request #73 from john/master

Switched to ActiveSupport::VERSION::MINOR for version detection
Fixed Rails 2 compatibility, where the active_support/version is not preloaded.
Merge pull request #76 from kanevski/master

Fix to Rails 2 compatibility
Fixing update_attributes on rails 3.0.x

The persistence hooks don't use the arguments so they can be ignored for
the most part.
Ignore vim swap files.
Generalize the require to ActiveSupport class extensions.

Rails 3.2 changes inheritable_attributes to just attribute and this will
work across both versions. This adds a few extensions that Octopus isn't
using but nothing that ActiveRecord probably doesn't bring in on it's
own.
Removing MetricFu due to it not working on 1.9.3.

MetricFu depends on Rcov which is not compiling on 1.9.3 (which is
arguably the Future(tm)).
Add rails32 appraisal and remove generated gemfiles.

Part of the getting started process is to run rake appraisal:install so
these files will be regenerated again anyways. Plus they are
auto-generated which seems odd to keep in source control.