Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
First aid with Redis!
Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib version bump to 0.1.0
spec Added railtie and rails config generator
.gitignore Initial
LICENSE Initial
README.rdoc small readme fixes
Rakefile Small optimization
redis-aid.gemspec Added railtie and rails config generator

README.rdoc

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

Copyright © 2010 Kriss 'nu7hatch' Kowalik. See LICENSE for details.

Something went wrong with that request. Please try again.