Cleanup
authorVincent Tondellier <tonton+hg@team1664.org>
Mon, 17 Jul 2023 22:51:43 +0200
changeset 133 42a4a2f8c790
parent 132 75cea8c94598
child 134 26ba2717da6e
Cleanup Fix confusion between defined and exists
lib/CrashTest/Model/BugLink.pm
--- a/lib/CrashTest/Model/BugLink.pm	Mon Jul 17 22:25:19 2023 +0200
+++ b/lib/CrashTest/Model/BugLink.pm	Mon Jul 17 22:51:43 2023 +0200
@@ -25,17 +25,21 @@
     foreach my $bt_key (keys %{$self->config}) {
         my $bt_config = $self->config->{$bt_key};
 
-        if(defined($bt_config->{Type})) {
+        if(exists($bt_config->{Type})) {
             $self->app->plugin("CrashTest::Plugin::BugLink::" . $bt_config->{Type}, $bt_config);
+            $self->bugtrackers->{$bt_key} = "CrashTest::Plugin::BugLink::$bt_config->{Type}"->new(app => $self->app, config => $bt_config);
         }
-        $self->bugtrackers->{$bt_key} = "CrashTest::Plugin::BugLink::$bt_config->{Type}"->new(app => $self->app, config => $bt_config);
     }
 }
 
 sub get_status {
     my ($self, $bugtracker_key, $bug_key) = @_;
 
-    return $self->bugtrackers->{$bugtracker_key}->get_status($bug_key);
+    if(exists($self->bugtrackers->{$bugtracker_key})) {
+        return $self->bugtrackers->{$bugtracker_key}->get_status($bug_key);
+    }
+
+    return;
 }
 
 sub get_statuses {
@@ -49,7 +53,9 @@
 
     my $statuses = {};
     foreach my $tracker(keys %bugs_by_tracker) {
-        $statuses->{$tracker} = $self->bugtrackers->{$tracker}->get_statuses($bugs_by_tracker{$tracker});
+        if(exists($self->bugtrackers->{$tracker})) {
+            $statuses->{$tracker} = $self->bugtrackers->{$tracker}->get_statuses($bugs_by_tracker{$tracker});
+        }
     }
 
     return $statuses;