File Coverage

blib/lib/PAB3/Utils.pm
Criterion Covered Total %
statement 37 48 77.0
branch 6 10 60.0
condition n/a
subroutine 10 15 66.6
pod 7 8 87.5
total 60 81 74.0


line stmt bran cond sub pod time code
1             package PAB3::Utils;
2             # =============================================================================
3             # Perl Application Builder
4             # Module: PAB3::Utils
5             # use "perldoc PAB3::Utils" for documenation
6             # =============================================================================
7 3     3   2420 use strict;
  3         6  
  3         122  
8 3     3   31 use warnings;
  3         6  
  3         123  
9 3     3   16 no warnings 'uninitialized';
  3         6  
  3         132  
10              
11 3     3   14 use vars qw($VERSION $TID);
  3         5  
  3         924  
12              
13             require Exporter;
14             our @EXPORT_GOOD = qw(
15             setlocale set_locale set_user_locale set_timezone
16             strftime strfmon number_format str_trim trim round
17             );
18             our @EXPORT_BAD = qw(localtime gmtime);
19             our @EXPORT_OK = ( @EXPORT_GOOD, @EXPORT_BAD );
20             our %EXPORT_TAGS = (
21             'default' => \@EXPORT_GOOD,
22             );
23             *import = \&Exporter::import;
24              
25             BEGIN {
26 3     3   8 $VERSION = '2.0';
27 3         17 require XSLoader;
28 3         2156 XSLoader::load( __PACKAGE__, $VERSION );
29            
30 3         18 my( $pn );
31 3         6 $pn = '/auto/PAB3/Utils/';
32 3         9 foreach( @INC ) {
33 4 100       114 if( -d $_ . $pn . 'locale' ) {
34 3         415 &_set_module_path( $_ . $pn );
35 3         7 last;
36             }
37             }
38            
39 3         7 $TID = undef;
40            
41 3         13 *setlocale = \&set_locale;
42 3         1374 *trim = \&str_trim;
43             }
44              
45             END {
46 3     3   0 &_cleanup();
47             }
48              
49             1;
50              
51             sub DESTROY {
52 0 0   0   0 my $this = shift or return;
53 0 0       0 if( $$this ) {
54 0         0 &_cleanup_class( $$this );
55             }
56             }
57              
58             sub set_locale {
59 0     0 1 0 my $tid = &get_thread_id( \@_ );
60 0         0 &_set_locale( $tid, @_ );
61             }
62              
63             sub set_user_locale {
64 0     0 1 0 my $tid = &get_thread_id( \@_ );
65 0         0 &_set_user_locale( $tid, @_ );
66             }
67              
68             sub set_timezone {
69 2     2 1 337 my $tid = &get_thread_id( \@_ );
70 2         190 &_set_timezone( $tid, @_ );
71             }
72              
73             sub number_format {
74 0     0 1 0 my $tid = &get_thread_id( \@_ );
75 0         0 &_number_format( $tid, @_ );
76             }
77              
78             sub localtime {
79 1     1 1 41 my $tid = &get_thread_id( \@_ );
80 1         133 &_localtime( $tid, @_ );
81             }
82              
83             sub strftime {
84 4     4 1 75 my $tid = &get_thread_id( \@_ );
85 4         219 &_strftime( $tid, @_ );
86             }
87              
88             sub strfmon {
89 0     0 1 0 my $tid = &get_thread_id( \@_ );
90 0         0 &_strfmon( $tid, @_ );
91             }
92              
93             sub get_thread_id {
94             #my( $arg ) = @_;
95 7 100   7 0 25 if( ref( $_[0]->[0] ) eq __PACKAGE__ ) {
96 3         4 return ${shift @{$_[0]}};
  3         5  
  3         14  
97             }
98 4 100       22 defined $TID or $TID = &_get_current_thread_id();
99 4         9 return $TID;
100             }
101              
102              
103             __END__