Sha256: caaca2996e17ef8d6c575f834325db94bcc7b48fc402538897104aac8ab5b894
Contents?: true
Size: 801 Bytes
Versions: 2569
Compression:
Stored size: 801 Bytes
Contents
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
2,569 entries across 2,566 versions & 23 rubygems