Sha256: b85e5de96fc6ab4e1498c3c27c74a8783fa0749ac8e4d7a14d7261ce34e75ba5

Contents?: true

Size: 832 Bytes

Versions: 9

Compression:

Stored size: 832 Bytes

Contents

module Yammer
  class IdentityMap

    class InvalidKeyError < StandardError; end

    def initialize
      @map  = {}
      @size = 0
    end

    # @note retrives key from identity map
    # @return [Hash]
    # @param key [string] 
    # @param default [Hash]
    def get(key, default=nil)
      @map["#{key}"] || default
    end

    # @note inserts a hash of attributes into identity map
    # @return [Hash]
    # @param key [string] 
    # @param value [Hash]
    def put(key, value)
      if key.nil? || key.empty?
        raise InvalidKeyError.new
      end
      @map["#{key}"] = value
    end

    # @note returns the current size of identity map
    # @return [Integer]
    def size
      @map.keys.count
    end

    # clears the entire identity map
    # @return [Hash]
    def purge!
      @map = {}
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
yammer-client-0.1.8 lib/yammer/identity_map.rb
yammer-client-0.1.7 lib/yammer/identity_map.rb
yammer-client-0.1.6 lib/yammer/identity_map.rb
yammer-client-0.1.5 lib/yammer/identity_map.rb
yammer-client-0.1.4 lib/yammer/identity_map.rb
yammer-client-0.1.3 lib/yammer/identity_map.rb
yammer-client-0.1.2 lib/yammer/identity_map.rb
yammer-client-0.1.1 lib/yammer/identity_map.rb
yammer-client-0.1.0 lib/yammer/identity_map.rb