@@ -20,12 +20,9 @@ class MultipartFileUploader
2020 )
2121
2222 # @option options [Client] :client
23- # @option options [Integer] :thread_count (DEFAULT_THREAD_COUNT)
2423 def initialize ( options = { } )
2524 @client = options [ :client ] || Client . new
26- @thread_count = options [ :thread_count ] || DEFAULT_THREAD_COUNT
27- @executor = options [ :executor ] || DefaultExecutor . new ( max_threads : @thread_count )
28- @options = options
25+ @executor = options [ :executor ]
2926 end
3027
3128 # @return [Client]
@@ -45,8 +42,6 @@ def upload(source, options = {})
4542 upload_id = initiate_upload ( options )
4643 parts = upload_parts ( upload_id , source , file_size , options )
4744 complete_upload ( upload_id , parts , file_size , options )
48- ensure
49- @executor . shutdown if @executor . running? && @options [ :executor ] . nil?
5045 end
5146
5247 private
@@ -115,19 +110,19 @@ def checksum_key?(key)
115110 CHECKSUM_KEYS . include? ( key )
116111 end
117112
118- def checksum_keys ?( keys )
113+ def has_checksum_keys ?( keys )
119114 keys . any? { |key | checksum_key? ( key ) }
120115 end
121116
122117 def create_opts ( options )
123118 opts = { checksum_algorithm : Aws ::Plugins ::ChecksumAlgorithm ::DEFAULT_CHECKSUM }
124- opts [ :checksum_type ] = 'FULL_OBJECT' if checksum_keys ?( options . keys )
119+ opts [ :checksum_type ] = 'FULL_OBJECT' if has_checksum_keys ?( options . keys )
125120 CREATE_OPTIONS . each_with_object ( opts ) { |k , h | h [ k ] = options [ k ] if options . key? ( k ) }
126121 end
127122
128123 def complete_opts ( options )
129124 opts = { }
130- opts [ :checksum_type ] = 'FULL_OBJECT' if checksum_keys ?( options . keys )
125+ opts [ :checksum_type ] = 'FULL_OBJECT' if has_checksum_keys ?( options . keys )
131126 COMPLETE_OPTIONS . each_with_object ( opts ) { |k , h | h [ k ] = options [ k ] if options . key? ( k ) }
132127 end
133128
@@ -173,8 +168,8 @@ def upload_with_executor(pending, completed, options)
173168 errors
174169 end
175170
176- def compute_default_part_size ( source_size )
177- [ ( source_size . to_f / MAX_PARTS ) . ceil , MIN_PART_SIZE ] . max . to_i
171+ def compute_default_part_size ( file_size )
172+ [ ( file_size . to_f / MAX_PARTS ) . ceil , MIN_PART_SIZE ] . max . to_i
178173 end
179174
180175 def part_size ( total_size , part_size , offset )
0 commit comments