Sha256: 70a17bdf67715aeaa6d8656c487f8413acea051c2a3df0ea6412f9911d1d2e52

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

# HellaRedis

It's-a hella-redis!

This gem is a wrapper that builds a connection pool of redis connections.  It also provides spies and test mode behavior to ease testing redis interactions.

## Usage

```ruby
# create
@redis = HellaRedis.new({
  :timeout  => 1,
  :size     => 5,
  :redis_ns => 'hella-redis-test',
  :driver   => 'ruby',
  :url      => 'redis://localhost:6379/0'
}) # => HellaRedis:ConnectionPool instance

# it's actually a pool of connections
@redis.connection do |connection|
  # checks out a connection so you can do something with it
  # will check it back in once the block has run
end
```

### Test Mode

```ruby
ENV['HELLA_REDIS_TEST_MODE'] = 'yes' # set to anything "truthy"

@redis_spy = HellaRedis.new({
  :timeout  => 1,
  :size     => 5,
  :redis_ns => 'hella-redis-test',
  :driver   => 'ruby',
  :url      => 'redis://localhost:6379/0'
}) # => HellaRedis::ConnectionPoolSpy instance

@redis_spy.connection do |connection_spy|
  connection_spy # => HellaRedis::ConnectionSpy instance
  connection_spy.info
end

@redis_spy.calls.size # => 1
@redis_spy.calls.first.tap do |call|
  call.command # => 'info'
  call.args    # => nil
  call.block   # => nil
end

@redis_spy.connection_calls.size # => 1
@redis_spy.connection_calls.first.tap do |connection_call|
  connection_call.block # => block instance
end
```

## Installation

Add this line to your application's Gemfile:

    gem 'hella-redis'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install hella-redis

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hella-redis-0.4.0 README.md