# File lib/ruby-progressbar/format/base.rb, line 11 def process(environment) processed_string = @format_string.dup ansi_sgr_codes = %{\e\[[\d;]+m} non_bar_molecules.each do |molecule| processed_string.gsub!("%#{molecule.key}", environment.send(molecule.method_name).to_s) end remaining_molecules = bar_molecules.size placeholder_length = remaining_molecules * 2 processed_string.gsub! '%%', '%' processed_string_length = processed_string.gsub(ansi_sgr_codes, '').length leftover_bar_length = environment.send(:length) - processed_string_length + placeholder_length leftover_bar_length = leftover_bar_length < 0 ? 0 : leftover_bar_length bar_molecules.each do |molecule| processed_string.gsub!("%#{molecule.key}", environment.send(molecule.method_name, leftover_bar_length).to_s) end processed_string end
Generated with the Darkfish Rdoc Generator 2.