Skip to content
This repository was archived by the owner on Dec 11, 2020. It is now read-only.

Commit 716cedf

Browse files
committed
refactor: Remove duplication
1 parent b345478 commit 716cedf

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

lib/we_transfer/communication_helper.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,10 @@ def handle_new_transfer_data(transfer:, data:)
109109
transfer.instance_variable_set "@#{i_var}", data[i_var]
110110
end
111111

112-
RemoteFile.upgrade(files: transfer.files, files_response: data[:files])
112+
RemoteFile.upgrade(
113+
transfer: transfer,
114+
files_response: data[:files]
115+
)
113116
transfer
114117
end
115118

lib/we_transfer/remote_file.rb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@ def to_h
1111
end
1212
end
1313

14-
def self.upgrade(files:, files_response:)
14+
def self.upgrade(files_response:, transfer:)
1515
files_response.each do |file_response|
16-
local_file = files.find do |file|
17-
file.name == file_response[:name]
18-
end
19-
raise FileMismatchError unless local_file
16+
local_file = transfer.find_file_by_name(file_response[:name])
2017

2118
local_file.instance_variable_set(
2219
:@id,

lib/we_transfer/transfer.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ module WeTransfer
22
class Transfer
33
class DuplicateFileNameError < ArgumentError; end
44
class NoFilesAddedError < StandardError; end
5+
class FileMismatchError < StandardError; end
56

67
extend Forwardable
78

@@ -51,7 +52,7 @@ def upload_file(name:, io: nil)
5152

5253
raise(
5354
WeTransfer::RemoteFile::NoIoError,
54-
"File with name '#{name}' cannot be uploaded."
55+
"IO for file with name '#{name}' cannot be uploaded."
5556
) unless WeTransfer::MiniIO.mini_io_able?(put_io)
5657

5758
(1..file.multipart.chunks).each do |chunk|
@@ -97,15 +98,15 @@ def to_h
9798
prepared
9899
end
99100

100-
private
101-
102-
def_delegator self, :remote_transfer_params
103-
104101
def find_file_by_name(name)
105102
@found_files ||= Hash.new do |h, name|
106103
h[name] = files.find { |file| file.name == name }
107104
end
105+
106+
raise FileMismatchError unless @found_files[name]
108107
@found_files[name]
109108
end
109+
110+
def_delegator self, :remote_transfer_params
110111
end
111112
end

0 commit comments

Comments
 (0)