Method: Wref::Map#each_value

Defined in:
lib/wref/map.rb

#each_value(&block) ⇒ Object



193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/wref/map.rb', line 193

def each_value(&block)
  enum = Enumerator.new do |yielder|
    ids = nil
    @mutex.synchronize do
      ids = @map.keys
    end

    ids.each do |id|
      if obj = get(id)
        yielder << obj
      end
    end
  end

  if block
    enum.each(&block)
  else
    return enum
  end
end