summaryrefslogtreecommitdiffstats
path: root/extensions/Push/lib/Connectors.pm
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/Push/lib/Connectors.pm')
-rw-r--r--extensions/Push/lib/Connectors.pm129
1 files changed, 66 insertions, 63 deletions
diff --git a/extensions/Push/lib/Connectors.pm b/extensions/Push/lib/Connectors.pm
index d3c55d3ca..9a3856c02 100644
--- a/extensions/Push/lib/Connectors.pm
+++ b/extensions/Push/lib/Connectors.pm
@@ -19,94 +19,97 @@ use File::Basename;
use Try::Tiny;
sub new {
- my ($class) = @_;
- my $self = {};
- bless($self, $class);
-
- $self->{names} = [];
- $self->{objects} = {};
- $self->{path} = bz_locations->{'extensionsdir'} . '/Push/lib/Connector';
-
- foreach my $file (glob($self->{path} . '/*.pm')) {
- my $name = basename($file);
- $name =~ s/\.pm$//;
- next if $name eq 'Base';
- if (length($name) > 32) {
- WARN("Ignoring connector '$name': Name longer than 32 characters");
- }
- push @{$self->{names}}, $name;
- TRACE("Found connector '$name'");
+ my ($class) = @_;
+ my $self = {};
+ bless($self, $class);
+
+ $self->{names} = [];
+ $self->{objects} = {};
+ $self->{path} = bz_locations->{'extensionsdir'} . '/Push/lib/Connector';
+
+ foreach my $file (glob($self->{path} . '/*.pm')) {
+ my $name = basename($file);
+ $name =~ s/\.pm$//;
+ next if $name eq 'Base';
+ if (length($name) > 32) {
+ WARN("Ignoring connector '$name': Name longer than 32 characters");
}
+ push @{$self->{names}}, $name;
+ TRACE("Found connector '$name'");
+ }
- return $self;
+ return $self;
}
sub _load {
- my ($self) = @_;
- return if scalar keys %{$self->{objects}};
-
- foreach my $name (@{$self->{names}}) {
- next if exists $self->{objects}->{$name};
- my $file = $self->{path} . "/$name.pm";
- trick_taint($file);
- require $file;
- my $package = "Bugzilla::Extension::Push::Connector::$name";
-
- TRACE("Loading connector '$name'");
- my $old_error_mode = Bugzilla->error_mode;
- Bugzilla->error_mode(ERROR_MODE_DIE);
- try {
- my $connector = $package->new();
- $connector->load_config();
- $self->{objects}->{$name} = $connector;
- } catch {
- ERROR("Connector '$name' failed to load: " . clean_error($_));
- };
- Bugzilla->error_mode($old_error_mode);
+ my ($self) = @_;
+ return if scalar keys %{$self->{objects}};
+
+ foreach my $name (@{$self->{names}}) {
+ next if exists $self->{objects}->{$name};
+ my $file = $self->{path} . "/$name.pm";
+ trick_taint($file);
+ require $file;
+ my $package = "Bugzilla::Extension::Push::Connector::$name";
+
+ TRACE("Loading connector '$name'");
+ my $old_error_mode = Bugzilla->error_mode;
+ Bugzilla->error_mode(ERROR_MODE_DIE);
+ try {
+ my $connector = $package->new();
+ $connector->load_config();
+ $self->{objects}->{$name} = $connector;
}
+ catch {
+ ERROR("Connector '$name' failed to load: " . clean_error($_));
+ };
+ Bugzilla->error_mode($old_error_mode);
+ }
}
sub stop {
- my ($self) = @_;
- foreach my $connector ($self->list) {
- next unless $connector->enabled;
- TRACE("Stopping '" . $connector->name . "'");
- try {
- $connector->stop();
- } catch {
- ERROR("Connector '" . $connector->name . "' failed to stop: " . clean_error($_));
- };
+ my ($self) = @_;
+ foreach my $connector ($self->list) {
+ next unless $connector->enabled;
+ TRACE("Stopping '" . $connector->name . "'");
+ try {
+ $connector->stop();
}
+ catch {
+ ERROR(
+ "Connector '" . $connector->name . "' failed to stop: " . clean_error($_));
+ };
+ }
}
sub reload {
- my ($self) = @_;
- $self->stop();
- $self->{objects} = {};
- $self->_load();
+ my ($self) = @_;
+ $self->stop();
+ $self->{objects} = {};
+ $self->_load();
}
sub names {
- my ($self) = @_;
- return @{$self->{names}};
+ my ($self) = @_;
+ return @{$self->{names}};
}
sub list {
- my ($self) = @_;
- $self->_load();
- return sort { $a->name cmp $b->name } values %{$self->{objects}};
+ my ($self) = @_;
+ $self->_load();
+ return sort { $a->name cmp $b->name } values %{$self->{objects}};
}
sub exists {
- my ($self, $name) = @_;
- $self->by_name($name) ? 1 : 0;
+ my ($self, $name) = @_;
+ $self->by_name($name) ? 1 : 0;
}
sub by_name {
- my ($self, $name) = @_;
- $self->_load();
- return unless exists $self->{objects}->{$name};
- return $self->{objects}->{$name};
+ my ($self, $name) = @_;
+ $self->_load();
+ return unless exists $self->{objects}->{$name};
+ return $self->{objects}->{$name};
}
1;