Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

First aid with Redis!

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 redis-aid.gemspec
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.