@@ -62,14 +62,14 @@ def assign_defaults
6262 end
6363
6464 def upload! ( local , remote , options = { } )
65- summarizer = transfer_summarizer ( 'Uploading' )
65+ summarizer = transfer_summarizer ( 'Uploading' , options )
6666 with_ssh do |ssh |
6767 ssh . scp . upload! ( local , remote , options , &summarizer )
6868 end
6969 end
7070
7171 def download! ( remote , local = nil , options = { } )
72- summarizer = transfer_summarizer ( 'Downloading' )
72+ summarizer = transfer_summarizer ( 'Downloading' , options )
7373 with_ssh do |ssh |
7474 ssh . scp . download! ( remote , local , options , &summarizer )
7575 end
@@ -96,14 +96,16 @@ def config
9696
9797 private
9898
99- def transfer_summarizer ( action )
99+ def transfer_summarizer ( action , options = { } )
100+ log_percent = options [ :log_percent ] || 10
101+ log_percent = 100 if log_percent <= 0
100102 last_name = nil
101103 last_percentage = nil
102104 proc do |_ch , name , transferred , total |
103105 percentage = ( transferred . to_f * 100 / total . to_f )
104106 unless percentage . nan?
105107 message = "#{ action } #{ name } #{ percentage . round ( 2 ) } %"
106- percentage_r = ( percentage / 10 ) . truncate * 10
108+ percentage_r = ( percentage / log_percent ) . truncate * log_percent
107109 if percentage_r > 0 && ( last_name != name || last_percentage != percentage_r )
108110 info message
109111 last_name = name
0 commit comments