Sha256: 0afeac086367b31b17db1d350ca7e963f7bf5e583a2140e32ea7fcea99f3e802

Contents?: true

Size: 1.04 KB

Versions: 32

Compression:

Stored size: 1.04 KB

Contents

module Cloudinary::Cache
  class RailsCacheAdapter < CacheAdapter

    def flush_all
    end

    def get(public_id, type, resource_type, transformation, format)
      key = generate_cache_key(public_id, type, resource_type, transformation, format)
      Rails.cache.read(key)
    end

    def init
      unless defined? Rails
        raise CloudinaryException.new "Rails is required in order to use RailsCacheAdapter"
      end
    end

    def set(public_id, type, resource_type, transformation, format, value)
      key = generate_cache_key(public_id, type, resource_type, transformation, format)
      Rails.cache.write(key, value)
    end

    def fetch(public_id, type, resource_type, transformation, format)
      key = generate_cache_key(public_id, type, resource_type, transformation, format)
      Rails.cache.fetch(key, &Proc.new)
    end
    private

    def generate_cache_key(public_id, type, resource_type, transformation, format)
      Digest::SHA1.hexdigest [public_id, type, resource_type, transformation, format].reject(&:blank?)
    end

  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
cloudinary-1.16.1 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.16.0 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.15.0 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.14.0 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.13.2 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.13.1 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.13.0 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.12.0 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.11.1 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.11.0 lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.10.1.pre.rc lib/cloudinary/cache/rails_cache_adapter.rb
cloudinary-1.10.0 lib/cloudinary/cache/rails_cache_adapter.rb