forked from pjdavis/identity-map
A simple implementation of an Identity Mapper for Active Record.
License
funny-falcon/identity-map
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= 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 class ClientsController def strange_action without_identity_map do do_strange_things_without_identity_map end end end == Copyright inspired by http://github.com/pjdavis/identity-map Copyright (c) 2010 Sokolov Yura aka funny_falcon, released under the MIT license.
About
A simple implementation of an Identity Mapper for Active Record.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Ruby 100.0%