Class: Ccp::Utils::Colorize::Bar::Progress
- Inherits:
-
Object
- Object
- Ccp::Utils::Colorize::Bar::Progress
- Defined in:
- lib/ccp/utils/colorize.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(colors, format, size, vals, chars = nil) ⇒ Progress
constructor
A new instance of Progress.
- #to_s ⇒ Object
Constructor Details
#initialize(colors, format, size, vals, chars = nil) ⇒ Progress
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/ccp/utils/colorize.rb', line 70 def initialize(colors, format, size, vals, chars = nil) @colors = colors.must.coerced(Array, Symbol=>lambda{|x| [x, :black]}) # [:green, :black] @format = format.must(String) # "Mem[%sMB]" @size = size.must(Fixnum) # 73 @vals = vals.must(Fixnum, Float, Array) # [4004,24105] @chars = chars.must(Array) { ["|"] } @count = @vals.is_a?(Array) ? @vals.size : 1 # value count (fill gaps with Fixnum and Array) if @vals.is_a?(Array) and @vals.size < 2 raise "vals.size expected >= %d, but got %d" % [2, @vals.size] end if @chars.size < @count @chars += [@chars.last] * (@vals.size - @chars.size) end if @chars.size < @count + 1 @chars += [' '] end @colors.size >= 2 or raise "colors.size expected >= %d, but got %d" % [2, @colors.size] @label = label(@vals) # "4004/24105" @rates = rates(@vals) # [0.16] end |
Instance Method Details
#to_s ⇒ Object
93 94 95 96 97 |
# File 'lib/ccp/utils/colorize.rb', line 93 def to_s rest = @size - @format.size + 2 - @label.size return @format % @label if rest <= 0 return @format % ((rest) + @label) end |