diff options
author | Angelo Naselli <anaselli@linux.it> | 2014-01-16 16:02:49 +0100 |
---|---|---|
committer | Angelo Naselli <anaselli@linux.it> | 2014-01-16 16:02:49 +0100 |
commit | fed16eef71eacf5e06b7efb633e6cbf1e55f38f0 (patch) | |
tree | 04717956a7eca187aef30c4748c56338c9735ff9 /Category.pm | |
parent | 1f0a53f65d026d328f34714dd2d7b0ba254e1dad (diff) | |
download | manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar.gz manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar.bz2 manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.tar.xz manatools-fed16eef71eacf5e06b7efb633e6cbf1e55f38f0.zip |
Added availability to instanziate once intead o many times
Fixed return Category (now is the one we left)
Diffstat (limited to 'Category.pm')
-rw-r--r-- | Category.pm | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/Category.pm b/Category.pm index 7191fabe..b43a4c1a 100644 --- a/Category.pm +++ b/Category.pm @@ -69,7 +69,7 @@ sub new { sub loadModule { my ($self, $module) = @_; - if (!$self->moduleLoaded($module)) { + if (!$self->moduleLoaded($module->{name})) { push ( @{$self->{modules}}, $module ); return 1; @@ -83,8 +83,8 @@ sub loadModule { =head3 INPUT - $self: this object - $module: module to look for + $self: this object + $module_name or -CLASS => name : module/CLASS name to look for =head3 OUTPUT @@ -98,15 +98,22 @@ sub loadModule { #============================================================= sub moduleLoaded { - my ($self, $module) = @_; + my $self = shift; + my (%params) = @_; + my ($module_name) = @_; + my $present = 0; - if (!$module) { + if (!$module_name) { return $present; } foreach my $mod (@{$self->{modules}}) { - if ($mod->{name} eq $module->name) { + if (exists $params{-CLASS} && ref($mod) eq $params{-CLASS}) { + $present = 1; + last; + } + elsif ($mod->{name} eq $module_name) { $present = 1; last; } |