Sha256: b68fe0382bd4b1e0b86e08483ae6fa5e6fdced91606eef5be6c5e9d17b3492d3
Contents?: true
Size: 1.86 KB
Versions: 2
Compression:
Stored size: 1.86 KB
Contents
IdentityMap =========== Adds simple hand controlled identity map for ActiveRecord. Installing ========== in Rails 2.3 in config/environment.rb config.gem 'ar-simple-idmap', :lib => 'identity_map' in Rails 3 in Gemfile gem 'ar-simple-idmap', :require => 'identity_map' Enabling ======== To enable in ApplicationController (it is not enabled by default). class ApplicationController < ActionController::Base use_identity_map #(installs around filter) # or use_identity_map :only=>[:index, :show] # or use_identity_map :except=>[:update] end If you decide to disable filter in sub controllers: class ClientController < ApplicationController dont_use_identity_map :only=>[:save, :update, :messy_action] end Then you should enable identity map for each model class individually: class TarifPlan < ActiveRecord::Base use_id_map has_many :clients end class Client < ActiveRecord::Base use_id_map belongs_to :tarif_plan end You can use identity map for all models by writing in initializer: class ActiveRecord::Base use_id_map end To enable in rake task or script: ActiveRecord::Base.with_id_map do # all things here goes with identity map end or equivalently Client.with_id_map do # all things here goes with identity map # not only for Client end If you found that identity logic does wrong thing in some particular place, you could temporary disable it: ActiveRecord::Base.without_id_map do # all things here goes without identity map end Client.without_id_map do # all things here goes without identity map # not only for Client end Copyright ========= inspired by http://github.com/pjdavis/identity-map Copyright (c) 2010 Sokolov Yura aka funny_falcon, released under the MIT license.
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ar-simple-idmap-0.2.2 | README |
ar-simple-idmap-0.2.1 | README |