Module: Blather::FileTransfer::SimpleFileReceiver

Defined in:
lib/blather/file_transfer.rb

Overview

Simple handler for incoming file transfers

You can define your own handler and pass it to the accept method.

Instance Method Summary collapse

Instance Method Details

#initialize(path, size) ⇒ Object



85
86
87
88
89
# File 'lib/blather/file_transfer.rb', line 85

def initialize(path, size)
  @path = path
  @size = size
  @transferred = 0
end

#post_initObject



92
93
94
# File 'lib/blather/file_transfer.rb', line 92

def post_init
  @file = File.open(@path, "w")
end

#receive_data(data) ⇒ Object



97
98
99
100
# File 'lib/blather/file_transfer.rb', line 97

def receive_data(data)
  @transferred += data.size
  @file.write data
end

#unbindObject



103
104
105
106
# File 'lib/blather/file_transfer.rb', line 103

def unbind
  @file.close
  File.delete(@path) unless @transferred == @size
end