Sha256: 3ef6cb9190ec3d99a31ee96d142489ff5addffcefcb5168fc0138c25cb54d58f
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 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 = cached_resource if defined?(@cached_resource) super end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cached_resource-9.0.0 | lib/cached_resource/cached_resource.rb |