No commit activity in last 3 years
No release in over 3 years
Small lib which helps with extending your classes or modules with redis (and nest) goodies.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.1.1
>= 0.9
~> 2.0

Runtime

>= 0
>= 2.0
 Project Readme

Redis Aid¶ ↑

Small lib which helps with extending your classes or modules with redis (and nest) goodies.

Installation¶ ↑

From rubygems:

gem install redis-aid # with sudo if necessary

Examples¶ ↑

You can configure global redis connection:

Redis::Aid.redis = Redis.new

Simple usage:

class MyClass
  include Redis::Aid

  def foo
    redis.get(:foo)
  end
end

Powered by nest:

class MySecondClass
  include Redis::Aid::Ns(:foo)

  def bar
    redis[:bar].get # => value of 'foo:bar'
  end

  def spam_and_eggs
    redis[:spam][:eggs].get # => value of 'foo:spam:eggs'
  end

Custom redis connection for each class? No problem:

class MyThirdClass
  include Redis::Aid
  self.redis = Redis.connect(:host => "host.com")
end

Redis on Rails¶ ↑

Redis Aid provides Railtie and configuration generator for Ruby On Rails (only Rails 3). All you have to do is add redis-aid to your ‘Gemfile`:

gem 'redis-aid', '>= 0.1'

and require railtie within your ‘config/application.rb`:

require "rails/all"
require "redis/railtie"
# ...

Now you can generate configuration files with command:

$ rails generate redis:install

And that’s all. Now you can use redis-powered classes anywhere you want to. You have also access to redis client object via your application instance, eg:

Rails.application.redis # => #<Redis client v2.1.1 connected ...>

Integration with Redis Objects gem¶ ↑

You can also integrate Redis Aid with Redis Objects very easy:

Redis::Aid.redis = Redis.new(:host => 'myhost.com', :db => 10)

class Foo
  include Redis::Objects
  include Redis::Aid

  # ...
end

class Bar
  include Redis::Objects
  include Redis::Aid::Ns(:bar)

  # ...
end

Remember that includes order is important here. You have to include Redis::Aid last, then it will overwrite #redis and #redis= methods previously declared and used by Redis::Objects module.

Note on Patches/Pull Requests¶ ↑

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Kriss ‘nu7hatch’ Kowalik. See LICENSE for details.