Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.133.153.57
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : Quiet.pm
package Term::ProgressBar::Quiet;
use strict;
use warnings;
use IO::Interactive qw(is_interactive);
use Term::ProgressBar;
use Test::MockObject;
our $VERSION = '0.31';

sub new {
    my $class = shift;
    if ( is_interactive ) {
        return Term::ProgressBar->new(@_);
    } else {
        my $mock = Test::MockObject->new();
        $mock->set_true('update');
        $mock->set_true('message');
        return $mock;
    }
}

1;

__END__

=head1 NAME

Term::ProgressBar::Quiet - Provide a progress meter if run interactively

=head1 SYNOPSIS

  use Term::ProgressBar::Quiet;
  my @todo     = ( 'x' x 10 );
  my $progress = Term::ProgressBar::Quiet->new(
      { name => 'Todo', count => scalar(@todo), ETA => 'linear' } );

  my $i = 0;
  foreach my $todo (@todo) {

      # do something with $todo
      $progress->update( ++$i );
  }
  $progress->message('All done');

=head1 DESCRIPTION

L<Term::ProgressBar> is a wonderful module for showing progress bars
on the terminal. This module acts very much like that module when it
is run interactively. However, when it is not run interactively (for
example, as a cron job) then it does not show the progress bar.
  
=head1 AUTHOR

Leon Brocard, acme@astray.com

=head1 COPYRIGHT

Copyright (c) 2007 Leon Brocard. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.

© 2025 GrazzMean