Class: Mongrel::Uploads

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/mongrel_upload_progress/init.rb

Instance Method Summary collapse

Constructor Details

#initializeUploads

Returns a new instance of Uploads.



7
8
9
10
# File 'lib/mongrel_upload_progress/init.rb', line 7

def initialize
  @guard = Mutex.new
  @counters = {}
end

Instance Method Details

#add(upid, size) ⇒ Object



16
17
18
19
20
21
# File 'lib/mongrel_upload_progress/init.rb', line 16

def add(upid, size)
  stats = {'size' => size, 'received' => 0}
  @guard.synchronize do
    @counters[upid] = stats
  end
end

#check(upid) ⇒ Object



12
13
14
# File 'lib/mongrel_upload_progress/init.rb', line 12

def check(upid)
  @counters[upid]
end

#finish(upid) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/mongrel_upload_progress/init.rb', line 31

def finish(upid)
  upload = @counters[upid]
  recvd = upload['size']
  @guard.synchronize do
    upload['received'] = recvd
  end
end

#mark(upid, len) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/mongrel_upload_progress/init.rb', line 23

def mark(upid, len)
  upload = @counters[upid]
  recvd = upload['size'] - len
  @guard.synchronize do
    upload['received'] = recvd
  end
end