Sha256: 4c898fd60425edc2e6294d7aa4a2f269fb6c214bc4725adeda5dfe1ec92e6b47
Contents?: true
Size: 943 Bytes
Versions: 1
Compression:
Stored size: 943 Bytes
Contents
module InfoparkComponentCache # @author Tomasz Przedmojski <tomasz.przedmojski@infopark.de> # # Cache entity (component) consists of an obj, a name # and some parameters (hash). It should be used to point # to some data stored in a particular context class Component attr_reader :obj, :component, :params def initialize(obj, component, params={}) @obj, @component, @params = obj, component, params end def name self.component end def cache_key(meta_prefix=nil) if meta_prefix meta_prefix + "_" + KeyGenerator.generate_key(identity_hash) else KeyGenerator.generate_key(identity_hash) end end def identity_hash @params .except(:obj) #avoid the (ruby) object_id as part of the cache key (to_s), because it will change for each request .merge({:obj_name=>@obj.name, :obj_id=>@obj.id, :obj_component=>@component}) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
infopark_component_cache-3.2.0 | lib/infopark_component_cache/component.rb |