# 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