redis/redis-rb — pull request #251 by esmarkowski (2012-07-08 01:55:54+00:00)
Title: Support for individually configurable node instances in Redis::Distributed

This patch allows Redis::Distributed.new to receive an array of configration hashes for individual Redis nodes in addition to urls.

For example, Redis::Distributed can now accept both:
## The original way
```ruby
redis = Redis::Distributed.new %w(redis://127.0.0.1:6380/0 redis://127.0.0.1:6381/0)
```

## Our way with added flexibility
```ruby
redis = Redis::Distributed.new [{:host => '127.0.0.1', :db => 0, :port => 6379}, {:host => '199.199.0.1', :db => 0, :port => 6380}]
```

## Mix and match
```ruby
redis = Redis::Distributed.new [{:host => '127.0.0.1', :db => 0, :port => 6379}, {:host => '199.199.0.1', :db => 0, :port => 6380}, 'redis://127.0.0.1:6380/0']
```

## Namespaces
Options like :id and :url can be passed into to each instance individually.

```ruby
redis = Redis::Distributed.new [{:id => "instance1", :port => 6379}, {:id => "instance2", :port => 6380}]
```