Sha256: 4bcbbd4707e03e2ef71f41d5eedf12c7eca11f98b77e02ba0b60d7da767ecb61

Contents?: true

Size: 788 Bytes

Versions: 72

Compression:

Stored size: 788 Bytes

Contents

class   ProgressBar
module  Format
class   String < ::String
  MOLECULE_PATTERN = /%[a-zA-Z]/
  ANSI_SGR_PATTERN = /\e\[[\d;]+m/

  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

72 entries across 64 versions & 13 rubygems

Version Path
kinetic_sdk-5.0.19 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.18 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.17 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.16 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.15 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.14 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.13 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.12 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.11 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.10 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.9 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.8 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.7 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.6 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.5 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.4 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.3 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.2 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.2.beta.4 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb
kinetic_sdk-5.0.2.beta.3 gems/ruby-progressbar-1.9.0/lib/ruby-progressbar/format/string.rb