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

Version Path
avalara_sdk-24.12.2 vendor/bundle/ruby/2.7.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
avalara_sdk-24.12.1 vendor/bundle/ruby/2.7.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
avalara_sdk-24.12.0 vendor/bundle/ruby/2.7.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.20.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.19.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.18.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.17.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.15.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
avalara_sdk-24.2.29 vendor/bundle/ruby/2.7.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.14.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.13.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.12.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
scrapbook-0.3.2 vendor/ruby/2.7.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.11.1 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
mux_ruby-3.11.0 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
scrapbook-0.3.1 vendor/ruby/2.7.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb
cybrid_api_organization_ruby-0.62.65 vendor/bundle/ruby/3.2.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb