Sha256: 2c795ebbcf63a366e33f547eb73a09f8a902b34981015346b1cb9fa440f97f1f
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
class ProgressBar module Calculators class Length attr_accessor :length_override, :current_length def initialize(options) self.length_override = options[:length] self.current_length = nil end def length current_length || reset_length end def length_changed? previous_length = current_length self.current_length = calculate_length previous_length != current_length end def calculate_length length_override || terminal_width || 80 end def reset_length self.current_length = calculate_length end def length_override=(other) @length_override ||= ENV['RUBY_PROGRESS_BAR_LENGTH'] || other @length_override = @length_override.to_i if @length_override end private # This code was copied and modified from Rake, available under MIT-LICENSE # Copyright (c) 2003, 2004 Jim Weirich def terminal_width return 80 unless unix? result = dynamic_width (result < 20) ? 80 : result rescue 80 end begin require 'io/console' def dynamic_width _rows, columns = IO.console.winsize columns end rescue LoadError def dynamic_width dynamic_width_stty.nonzero? || dynamic_width_tput end def dynamic_width_stty `stty size 2>/dev/null`.split[1].to_i end def dynamic_width_tput `tput cols 2>/dev/null`.to_i end end def unix? RUBY_PLATFORM =~ /(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby-progressbar-1.7.1 | lib/ruby-progressbar/calculators/length.rb |
ruby-progressbar-1.7.0 | lib/ruby-progressbar/calculators/length.rb |