Class: Yammer::IdentityMap

Inherits:
Object
  • Object
show all
Defined in:
lib/yammer/identity_map.rb

Defined Under Namespace

Classes: InvalidKeyError

Instance Method Summary collapse

Constructor Details

#initializeIdentityMap

Returns a new instance of IdentityMap.



6
7
8
9
# File 'lib/yammer/identity_map.rb', line 6

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

Instance Method Details

#get(key, default = nil) ⇒ Hash

Note:

retrives key from identity map

Parameters:

  • key (string)
  • default (Hash) (defaults to: nil)

Returns:

  • (Hash)


15
16
17
# File 'lib/yammer/identity_map.rb', line 15

def get(key, default=nil)
  @map["#{key}"] || default
end

#purge!Hash

clears the entire identity map

Returns:

  • (Hash)


38
39
40
# File 'lib/yammer/identity_map.rb', line 38

def purge!
  @map = {}
end

#put(key, value) ⇒ Hash

Note:

inserts a hash of attributes into identity map

Parameters:

  • key (string)
  • value (Hash)

Returns:

  • (Hash)


23
24
25
26
27
28
# File 'lib/yammer/identity_map.rb', line 23

def put(key, value)
  if key.nil? || key.empty?
    raise InvalidKeyError.new
  end
  @map["#{key}"] = value
end

#sizeInteger

Note:

returns the current size of identity map

Returns:

  • (Integer)


32
33
34
# File 'lib/yammer/identity_map.rb', line 32

def size
  @map.keys.count
end