[Rt-commit] rt branch, 3.8/perlcritic, updated. rt-3.8.10-198-geaeb27c
Alex Vandiver
alexmv at bestpractical.com
Fri Aug 12 14:06:14 EDT 2011
The branch, 3.8/perlcritic has been updated
via eaeb27cdada11fde8450586f2521c38301b88c30 (commit)
via f527284d8ae2a3292666c0f1d95555ba5f076862 (commit)
from 0cfba984643883c7d1102852379bbcaa2a9cade9 (commit)
Summary of changes:
bin/rt-crontool.in | 8 +++-----
bin/rt.in | 2 +-
lib/RT.pm.in | 6 +++---
lib/RT/CustomField_Overlay.pm | 3 ++-
lib/RT/Date.pm | 10 ++++++----
lib/RT/Installer.pm | 3 ++-
lib/RT/Interface/Web.pm | 2 +-
lib/RT/Interface/Web/Session.pm | 4 ++--
lib/RT/Record.pm | 3 ++-
lib/RT/Ruleset.pm | 2 +-
lib/RT/ScripAction_Overlay.pm | 5 +++--
lib/RT/ScripCondition_Overlay.pm | 5 +++--
lib/RT/Shredder.pm | 4 ++--
lib/RT/Shredder/Plugin.pm | 5 +++--
lib/RT/Ticket_Overlay.pm | 2 +-
lib/RT/URI.pm | 3 ++-
sbin/rt-dump-database.in | 6 ++++--
sbin/rt-email-group-admin.in | 2 +-
18 files changed, 42 insertions(+), 33 deletions(-)
- Log -----------------------------------------------------------------
commit f527284d8ae2a3292666c0f1d95555ba5f076862
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Fri Aug 12 02:40:32 2011 -0400
Change unnecessary string evals into block evals
diff --git a/bin/rt.in b/bin/rt.in
index 3f41b14..715f631 100755
--- a/bin/rt.in
+++ b/bin/rt.in
@@ -1479,7 +1479,7 @@ sub whine {
}
sub read_passwd {
- eval 'require Term::ReadKey';
+ eval { require Term::ReadKey };
if ($@) {
die "No password specified (and Term::ReadKey not installed).\n";
}
diff --git a/lib/RT/Date.pm b/lib/RT/Date.pm
index 3b2ec85..e79041a 100755
--- a/lib/RT/Date.pm
+++ b/lib/RT/Date.pm
@@ -117,7 +117,7 @@ our @FORMATTERS = (
'RFC2616', # loc
'iCal', # loc
);
-if ( eval 'use DateTime qw(); 1;' && eval 'use DateTime::Locale qw(); 1;' &&
+if ( eval {require DateTime; 1} && eval {require DateTime::Locale; 1} &&
"DateTime"->can('format_cldr') && DateTime::Locale::root->can('date_format_full') ) {
push @FORMATTERS, 'LocalizedDateTime'; # loc
}
@@ -652,9 +652,11 @@ sub LocalizedDateTime
@_,
);
- return $self->loc("DateTime module missing") unless ( eval 'use DateTime qw(); 1;' );
- return $self->loc("DateTime::Locale module missing") unless ( eval 'use DateTime::Locale qw(); 1;' );
- return $self->loc("DateTime doesn't support format_cldr, you must upgrade to use this feature")
+ return $self->loc("DateTime module missing")
+ unless eval { require DateTime; 1};
+ return $self->loc("DateTime::Locale module missing")
+ unless eval { require DateTime::Locale; 1};
+ return $self->loc("DateTime doesn't support format_cldr, you must upgrade to use this feature")
unless "DateTime"->can('format_cldr');
diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index acb8be7..df0b83c 100755
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -155,7 +155,7 @@ sub WebExternalAutoInfo {
my ( $comments, $realname ) = ( getpwnam($user) )[ 5, 6 ];
$user_info{'Comments'} = $comments if defined $comments;
$user_info{'RealName'} = $realname if defined $realname;
- } elsif ( $^O eq 'MSWin32' and eval 'use Net::AdminMisc; 1' ) {
+ } elsif ( $^O eq 'MSWin32' and eval { require Net::AdminMisc; 1 } ) {
# Populate fields with information from NT domain controller
}
diff --git a/lib/RT/Ticket_Overlay.pm b/lib/RT/Ticket_Overlay.pm
index 41db606..4d2b9aa 100755
--- a/lib/RT/Ticket_Overlay.pm
+++ b/lib/RT/Ticket_Overlay.pm
@@ -3187,7 +3187,7 @@ sub _ApplyTransactionBatch {
}
my $have_global_destruction;
-$have_global_destruction = 1 if eval "require Devel::GlobalDestruction";
+$have_global_destruction = 1 if eval { require Devel::GlobalDestruction; 1};
sub DESTROY {
my $self = shift;
diff --git a/sbin/rt-email-group-admin.in b/sbin/rt-email-group-admin.in
index 08a33a9..5c84f16 100755
--- a/sbin/rt-email-group-admin.in
+++ b/sbin/rt-email-group-admin.in
@@ -180,7 +180,7 @@ sub parse_args {
sub usage {
local $@ = undef;
- eval "require Pod::PlainText;";
+ eval { require Pod::PlainText; };
if ( $@ ) {
print "see `perldoc $0`\n";
} else {
commit eaeb27cdada11fde8450586f2521c38301b88c30
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Fri Aug 12 02:41:43 2011 -0400
We already have a UNIVERSAL::require dep; use it instead of string evals
diff --git a/bin/rt-crontool.in b/bin/rt-crontool.in
index 0f08945..c18ce1e 100755
--- a/bin/rt-crontool.in
+++ b/bin/rt-crontool.in
@@ -76,6 +76,7 @@ BEGIN {
use RT;
use Getopt::Long;
+use UNIVERSAL::require;
use RT::Interface::CLI qw(CleanEnv GetCurrentUser GetMessageContent loc);
@@ -303,11 +304,8 @@ Loads a perl module, dying nicely if it can't find it.
sub load_module {
my $modname = shift;
- eval "require $modname";
- if ($@) {
- die loc( "Failed to load module [_1]. ([_2])", $modname, $@ );
- }
-
+ $modname->require
+ or die loc( "Failed to load module [_1]. ([_2])", $modname, $@ );
}
# }}}
diff --git a/lib/RT.pm.in b/lib/RT.pm.in
index 0cfd66d..5d48b50 100755
--- a/lib/RT.pm.in
+++ b/lib/RT.pm.in
@@ -55,6 +55,7 @@ package RT;
use File::Spec ();
use Cwd ();
use Log::Dispatch;
+use UNIVERSAL::require;
use vars qw($Config $System $SystemUser $Nobody $Handle $Logger $_INSTALL_MODE);
@@ -477,7 +478,7 @@ sub InitClasses {
foreach my $class ( grep $_, RT->Config->Get('CustomFieldValuesSources') ) {
local $@ = undef;
- eval "require $class; 1" or $RT::Logger->error(
+ $class->require or $RT::Logger->error(
"Class '$class' is listed in CustomFieldValuesSources option"
." in the config, but we failed to load it:\n$@\n"
);
@@ -655,8 +656,7 @@ sub InitPlugins {
my @plugins;
require RT::Plugin;
foreach my $plugin (grep $_, RT->Config->Get('Plugins')) {
- $plugin->require;
- die $UNIVERSAL::require::ERROR if ($UNIVERSAL::require::ERROR);
+ $plugin->require or die $UNIVERSAL::require::ERROR;
push @plugins, RT::Plugin->new(name =>$plugin);
}
return @plugins;
diff --git a/lib/RT/CustomField_Overlay.pm b/lib/RT/CustomField_Overlay.pm
index 35cf5db..1a876f1 100755
--- a/lib/RT/CustomField_Overlay.pm
+++ b/lib/RT/CustomField_Overlay.pm
@@ -54,6 +54,7 @@ no warnings qw(redefine);
use RT::CustomFieldValues;
use RT::ObjectCustomFields;
use RT::ObjectCustomFieldValues;
+use UNIVERSAL::require;
our %FieldTypes = (
@@ -381,7 +382,7 @@ sub Values {
my $self = shift;
my $class = $self->ValuesClass || 'RT::CustomFieldValues';
- eval "require $class" or die "$@";
+ $class->require or die $@;
my $cf_values = $class->new( $self->CurrentUser );
# if the user has no rights, return an empty object
if ( $self->id && $self->CurrentUserHasRight( 'SeeCustomField') ) {
diff --git a/lib/RT/Installer.pm b/lib/RT/Installer.pm
index 00ec98d..6eb3276 100644
--- a/lib/RT/Installer.pm
+++ b/lib/RT/Installer.pm
@@ -50,7 +50,8 @@ package RT::Installer;
use strict;
use warnings;
-require UNIVERSAL::require;
+use UNIVERSAL::require;
+
my %Meta = (
DatabaseType => {
Widget => '/Widgets/Form/Select',
diff --git a/lib/RT/Interface/Web/Session.pm b/lib/RT/Interface/Web/Session.pm
index 969a61b..9df5a13 100644
--- a/lib/RT/Interface/Web/Session.pm
+++ b/lib/RT/Interface/Web/Session.pm
@@ -51,6 +51,7 @@ use warnings;
use strict;
use RT::CurrentUser;
+use UNIVERSAL::require;
=head1 NAME
@@ -84,8 +85,7 @@ sub Class {
my $class = RT->Config->Get('WebSessionClass')
|| $self->Backends->{RT->Config->Get('DatabaseType')}
|| 'Apache::Session::File';
- eval "require $class";
- die $@ if $@;
+ $class->require or die $@;
return $class;
}
diff --git a/lib/RT/Record.pm b/lib/RT/Record.pm
index 7516443..f8bec82 100755
--- a/lib/RT/Record.pm
+++ b/lib/RT/Record.pm
@@ -74,6 +74,7 @@ use Encode qw();
our $_TABLE_ATTR = { };
use RT::Base;
+use UNIVERSAL::require;
BEGIN {
my $base = 'DBIx::SearchBuilder::Record::Cachable';
@@ -81,7 +82,7 @@ BEGIN {
$base = 'DBIx::SearchBuilder::Record';
}
- eval "require $base" or die $@;
+ $base->require;
require base;
base->import('RT::Base', $base);
}
diff --git a/lib/RT/Ruleset.pm b/lib/RT/Ruleset.pm
index 1356585..670c121 100644
--- a/lib/RT/Ruleset.pm
+++ b/lib/RT/Ruleset.pm
@@ -77,7 +77,7 @@ sub CommitRules {
sub Add {
my ($class, %args) = @_;
for (@{$args{Rules}}) {
- $_->require or die $UNIVERSAL::require::ERROR;
+ $_->require or die $@;
}
return push @RULE_SETS, $class->new(\%args);
}
diff --git a/lib/RT/ScripAction_Overlay.pm b/lib/RT/ScripAction_Overlay.pm
index 969171b..b647f09 100755
--- a/lib/RT/ScripAction_Overlay.pm
+++ b/lib/RT/ScripAction_Overlay.pm
@@ -72,6 +72,7 @@ package RT::ScripAction;
use strict;
no warnings qw(redefine);
use RT::Template;
+use UNIVERSAL::require;
# {{{ sub _Accessible
sub _Accessible {
@@ -168,8 +169,8 @@ sub LoadAction {
$self->ExecModule =~ /^(\w+)$/ or die "Invalid scrip action: ".$self->ExecModule;
my $type = "RT::Action::" . $1;
- eval "require $type" || die "Require of $type failed.\n$@\n";
-
+ $type->require or die "Require of $type failed.\n$@\n";
+
return $self->{'Action'} = $type->new(
Argument => $self->Argument,
CurrentUser => $self->CurrentUser,
diff --git a/lib/RT/ScripCondition_Overlay.pm b/lib/RT/ScripCondition_Overlay.pm
index 6d89703..40ed8f1 100755
--- a/lib/RT/ScripCondition_Overlay.pm
+++ b/lib/RT/ScripCondition_Overlay.pm
@@ -71,6 +71,7 @@ package RT::ScripCondition;
use strict;
no warnings qw(redefine);
+use UNIVERSAL::require;
# {{{ sub _Init
@@ -171,8 +172,8 @@ sub LoadCondition {
$self->ExecModule =~ /^(\w+)$/ or die "Invalid scrip condition: ".$self->ExecModule;
my $type = "RT::Condition::" . $1;
- eval "require $type" || die "Require of $type failed.\n$@\n";
-
+ $type->require or die "Require of $type failed.\n$@\n";
+
return $self->{'Condition'} = $type->new(
'ScripConditionObj' => $self,
'TicketObj' => $args{'TicketObj'},
diff --git a/lib/RT/Shredder.pm b/lib/RT/Shredder.pm
index 4ee6da7..8877548 100644
--- a/lib/RT/Shredder.pm
+++ b/lib/RT/Shredder.pm
@@ -50,6 +50,7 @@ package RT::Shredder;
use strict;
use warnings;
+use UNIVERSAL::require;
=head1 NAME
@@ -351,8 +352,7 @@ sub CastObjectsToRecords
$targets = $$targets if ref $targets;
my ($class, $id) = split /-/, $targets;
$class = 'RT::'. $class unless $class =~ /^RTx?::/i;
- eval "require $class";
- die "Couldn't load '$class' module" if $@;
+ $class->require or die "Couldn't load '$class' module: $@";
my $obj = $class->new( $RT::SystemUser );
die "Couldn't construct new '$class' object" unless $obj;
$obj->Load( $id );
diff --git a/lib/RT/Shredder/Plugin.pm b/lib/RT/Shredder/Plugin.pm
index 8b20932..6be5eb6 100644
--- a/lib/RT/Shredder/Plugin.pm
+++ b/lib/RT/Shredder/Plugin.pm
@@ -51,6 +51,7 @@ package RT::Shredder::Plugin;
use strict;
use warnings FATAL => 'all';
use File::Spec ();
+use UNIVERSAL::require;
=head1 NAME
@@ -138,7 +139,7 @@ sub List
delete $res{'Base'};
foreach my $name( keys %res ) {
my $class = join '::', qw(RT Shredder Plugin), $name;
- unless( eval "require $class" ) {
+ unless( $class->require ) {
delete $res{ $name };
next;
}
@@ -171,7 +172,7 @@ sub LoadByName
local $@ = undef;
my $plugin = "RT::Shredder::Plugin::$name";
- eval "require $plugin" or return( 0, $@ );
+ $plugin->require or return( 0, $@ );
return( 0, "Plugin '$plugin' has no method new") unless $plugin->can('new');
my $obj = eval { $plugin->new( @_ ) };
diff --git a/lib/RT/URI.pm b/lib/RT/URI.pm
index 9ba2b10..6734df7 100755
--- a/lib/RT/URI.pm
+++ b/lib/RT/URI.pm
@@ -53,6 +53,7 @@ use base 'RT::Base';
use RT::URI::base;
use Carp;
+use UNIVERSAL::require;
=head1 NAME
@@ -174,7 +175,7 @@ sub _GetResolver {
$scheme =~ s/(\.|-)/_/g;
my $class = "RT::URI::$scheme";
- eval "require $class";
+ $class->require;
my $resolver = eval { $class->new($self->CurrentUser); };
if ($resolver) {
diff --git a/sbin/rt-dump-database.in b/sbin/rt-dump-database.in
index f4eb78c..6a3d40d 100755
--- a/sbin/rt-dump-database.in
+++ b/sbin/rt-dump-database.in
@@ -78,6 +78,7 @@ BEGIN {
use RT;
use XML::Simple;
+use UNIVERSAL::require;
RT::LoadConfig();
RT::Init();
@@ -100,8 +101,9 @@ my @classes = qw(
Templates Scrips ACL CustomFields
);
foreach my $class (@classes) {
- require "RT/$class.pm";
- my $objects = "RT::$class"->new($RT::SystemUser);
+ my $fullclass = "RT::$class";
+ $fullclass->require or die "Can't load $fullclass: $@";
+ my $objects = $fullclass->new($RT::SystemUser);
$objects->{find_disabled_rows} = 1;
$objects->UnLimit;
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list