Sha256: c198f07e0117b82035d7a295245f67094772982bed8ab835aaca5ece63cf70e3

Contents?: true

Size: 554 Bytes

Versions: 2

Compression:

Stored size: 554 Bytes

Contents

class Zemanta
  class Fetcher
    class Cache
      class Key
        def initialize(value)
          @value = value
        end

        def to_s
          if @value.is_a?(String)
            digest(@value)
          elsif @value.is_a?(Hash)
            digest(@value.sort.to_s)
          else
            raise "You are trying to use #{@value.class} as cache key. Only Strings and Hashes are supported."
          end
        end

        private

        def digest(value)
          Digest::MD5.hexdigest(value)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zemanta_client-0.0.2 lib/zemanta/fetcher/cache/key.rb
zemanta_client-0.0.1 lib/zemanta/fetcher/cache/key.rb