Sha256: 75fd8f84f9bf924092487baa29badd42bce3fe53777b37300dbf39a8f47a4efe

Contents?: true

Size: 601 Bytes

Versions: 1

Compression:

Stored size: 601 Bytes

Contents

class ProgressBar
  module Format
    class Base
      attr_reader :molecules

      def initialize(format_string)
        @molecules = parse(format_string)
      end

      def non_bar_molecules
        molecules.select { |molecule| !molecule.bar_molecule? }
      end

      def bar_molecules
        molecules.select { |molecule| molecule.bar_molecule? }
      end

    private
      def parse(format_string)
        molecules        = []

        format_string.scan(/%[a-zA-Z]/) do |match|
          molecules << Molecule.new(match[1,1])
        end

        molecules
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-progressbar-1.0.1 lib/progress_bar/format/base.rb