Socket
Book a DemoInstallSign in
Socket

cached_key_value_store

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cached_key_value_store

bundlerRubygems
Version
0.1.0
Version published
Maintainers
1
Created
Source

CachedKeyValueStore

Sending redis a request for each of those thousands of translations scattered throughout your app is slow. This gem memoizes those requests, and sets up a simple mechanism to bust the cache.

If you want to use Redis for I18n, I recommend you watch this railscast, and use this backend instead of the KeyValue one that he uses.

Installation

Add this line to your application's Gemfile:

gem 'cached_key_value_store'

And then execute:

$ bundle

Or install it yourself as:

$ gem install cached_key_value_store

Usage

In your initializer:

I18n.backend = I18n::Backend::CachedKeyValueStore.new($redis)

Busting the Cache

The #ensure_freshness! method can be called periodically to make sure that new changes show up. I put mine in a before filter:

class ApplicationController < ActionController::Base
  before_filter :ensure_fresh_i18n

  private
  def ensure_fresh_i18n
    I18n.backend.ensure_freshness! I18n.locale
  end
end

You can also call #update_version!(locale) yourself to signal that the translations have been modified.

The on_update_version hook will be triggered every time the version is updated.

Contributing

  • Fork it
  • Create your feature branch (git checkout -b my-new-feature)
  • Commit your changes (git commit -am 'Added some feature')
  • Push to the branch (git push origin my-new-feature)
  • Create new Pull Request

FAQs

Package last updated on 04 Jun 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