Sha256: 0341aaae38a2fb5844431b7bfc094208c9cc6f5154c84b32bcac2e722e689d30
Contents?: true
Size: 1.29 KB
Versions: 14
Compression:
Stored size: 1.29 KB
Contents
module CachedResource # The Model module is included in ActiveResource::Base and # provides methods to enable caching and manipulate the caching # configuration module Model extend ActiveSupport::Concern included do class << self attr_accessor :cached_resource # Initialize cached resource or retrieve the current cached resource configuration. def cached_resource(options={}) defined?(@cached_resource) && @cached_resource || setup_cached_resource!(options) end # Set up cached resource for this class by creating a new configuration # and establishing the necessary methods. def setup_cached_resource!(options) @cached_resource = CachedResource::Configuration.new(options) send :include, CachedResource::Caching @cached_resource end end end module ClassMethods # Copy a superclass's cached resource configuration if # it's defined. Unfortunately, this means that any subclass # that wants an independent configuration will need to execute: # self.cached_resource = CachedResource::Configuration.new(options={}) def inherited(child) child.cached_resource = self.cached_resource if defined?(@cached_resource) end end end end
Version data entries
14 entries across 14 versions & 1 rubygems