Sha256: 1878ed65ff745b80aa242598149fb720c8edd70d89af7f858a1d3d406a03ac8e

Contents?: true

Size: 672 Bytes

Versions: 174

Compression:

Stored size: 672 Bytes

Contents

module CC
  module Analyzer
    module Formatters
      class Spinner
        def initialize(text)
          @spinner = TTY::Spinner.new(text)
        end

        def start
          return unless $stdout.tty? && !CLI.debug?
          @thread = Thread.new do
            loop do
              @spinning = true
              spinner.spin
              sleep 0.075
            end
          end
        end

        def stop(text = "Done!")
          if @spinning
            spinner.stop(text)
            print("\n")
            @thread.kill
          end
          @spinning = false
        end

        private

        attr_reader :spinner
      end
    end
  end
end

Version data entries

174 entries across 174 versions & 2 rubygems

Version Path
codeclimate-0.96.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.95.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.94.1 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.94.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.93.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.92.1 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.92.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.91.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.90.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.89.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.88.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.87.5 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.87.4 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.87.3 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.87.2 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.87.1 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.87.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.86.0 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.85.29 lib/cc/analyzer/formatters/spinner.rb
codeclimate-0.85.28 lib/cc/analyzer/formatters/spinner.rb