Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # second_level_cache_fix.rb
- # Oleg Andreev <oleganza@gmail.com>
- # November 3, 2008
- module DataMapper
- class Repository
- module SecondLevelCacheFix
- # quick install
- def self.install
- DataMapper::Repository.send(:include, self)
- end
- # more flexible install using Repository.send(:include, SecondLevelCacheFix)
- def self.included(repo_cls)
- DataMapper::Model.extend(SLCModel)
- DataMapper::Model.append_extensions(SLCModel)
- end
- # ask model for a second_level_cache
- def identity_map(model)
- @identity_maps[model] ||= IdentityMap.new(model.second_level_cache)
- end
- module SLCModel
- attr_accessor :second_level_cache
- def second_level_cache
- @second_level_cache ||=
- (self == DataMapper::Model ? nil : DataMapper::Model.second_level_cache)
- end
- end
- end # SecondLevelCacheFix
- end # Repository
- end # DM
Add Comment
Please, Sign In to add comment