Sha256: 399dcd4010f915d7e4c915209ed6841405b81aee9a1ad85d5b24e9715f569f94

Contents?: true

Size: 542 Bytes

Versions: 4

Compression:

Stored size: 542 Bytes

Contents

require 'active_resource'

module Ddr
  class AuxiliaryResourceCache < ActiveSupport::Cache::MemoryStore

    def initialize
      @_cache = 
    end

    def with(key, &block)
      begin
        cache.set(key, block.call)
      rescue ActiveResource::ServerError => e
        if cache.key?(key)
          Rails.logger.error(e)
          cache.get(key)
        else
          raise
        end
      end
    end

    private

    def get(key)
      @_cache[key]
    end

    def set(key, value)
      @_cache[key] = value
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ddr-core-1.2.0 app/models/ddr/#auxiliary_resource_cache.rb#
ddr-core-1.2.0.rc3 app/models/ddr/#auxiliary_resource_cache.rb#
ddr-core-1.2.0.rc2 app/models/ddr/#auxiliary_resource_cache.rb#
ddr-core-1.2.0.rc1 app/models/ddr/#auxiliary_resource_cache.rb#