Sha256: 1a0f6288925c4d1530ec39d4abbd4b48766ebbc9f96b1840a84fd71075cbb33d
Contents?: true
Size: 845 Bytes
Versions: 4018
Compression:
Stored size: 845 Bytes
Contents
require 'ruby-progressbar/format/molecule' class ProgressBar module Format class String < ::String MOLECULE_PATTERN = /%[a-zA-Z]/.freeze ANSI_SGR_PATTERN = /\e\[[\d;]+m/.freeze def displayable_length gsub(ANSI_SGR_PATTERN, '').length end def bar_molecule_placeholder_length @bar_molecule_placeholder_length ||= bar_molecules.size * 2 end def non_bar_molecules @non_bar_molecules ||= molecules.select(&:non_bar_molecule?) end def bar_molecules @bar_molecules ||= molecules.select(&:bar_molecule?) end def molecules @molecules ||= begin molecules = [] scan(MOLECULE_PATTERN) do |match| molecules << Molecule.new(match[1, 1]) end molecules end end end end end
Version data entries
4,018 entries across 4,018 versions & 27 rubygems