šŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →
Socket
Sign inDemoInstall
Socket

redis-persistence

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

redis-persistence

0.1.0
Rubygems
Version published
Maintainers
2
Created
Source

Redis Persistence

Redis::Persistence is a lightweight object persistence framework, fully compatible with ActiveModel, based on Redis, easily used standalone or within Rails applications.

Installation

$ gem install redis-persistence

Features:

  • 100% Rails compatibility
  • 100% ActiveModel compatibility: callbacks, validations, serialization, ...
  • No crazy has_many-type of semantics
  • Auto-incrementing IDs
  • Defining default values for properties
  • Casting properties as built-in or custom classes
  • Convenient "dot access" to properties (article.views.today)
  • Support for "collections" of embedded objects (eg. article Ā» comments)
  • Automatic conversion of UTC-formatted strings to Time objects
  • Small: 1 file, ~ 200 lines of code
  • Fast: ~2000 saves/sec, ~6000 finds/sec

Basic example

    require 'redis/persistence'

    Redis::Persistence.config.redis = Redis.new
    # => #<Redis client v2.2.2 connected to redis://127.0.0.1:6379/0 (Redis v2.4.1)>

    class Article
      include Redis::Persistence

      property :title
      property :body
      property :author, :default  => '(Unknown)'
      property :created
    end

    Article.create title: 'The Thing', body: 'So, in the beginning...', created: Time.now.utc

    article = Article.find(1)
    # => <Article: {"id"=>1, "title"=>"The Thing", ...}>

    article.title
    # => The Thing!

    article.created.year
    # => 2011

    article.title = 'The Cabin'
    article.save
    # => <Article: {"id"=>1, "title"=>"The Cabin", ...}>

See the examples/article.rb for full example.

(c) 2011, Ataxo Interactive, s.r.o., released under the MIT License.

FAQs

Package last updated on 21 Jul 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts