the kind of perl code that can only be written at 4:30 am
[ikiwiki.git] / IkiWiki / Plugin / conditional.pm
index 58e2b04b954b80eca221f7d62e05027a8ffa0d01..a7ed6590e52c26a6ab28b037c30e441dd73597f5 100644 (file)
@@ -62,8 +62,12 @@ sub match_enabled ($$;@) { #{{{
        my $plugin=shift;
        
        # test if the plugin is enabled
-       return 1 if UNIVERSAL::can("IkiWiki::Plugin::".$plugin, "import");
-       return IkiWiki::FailReason->new("$plugin is not enabled");
+       if (UNIVERSAL::can("IkiWiki::Plugin::".$plugin, "import")) {
+               return IkiWiki::SuccessReason->new("$plugin is enabled");
+       }
+       else {
+               return IkiWiki::FailReason->new("$plugin is not enabled");
+       }
 } #}}}
 
 sub match_sourcepage ($$;@) { #{{{
@@ -72,8 +76,12 @@ sub match_sourcepage ($$;@) { #{{{
        my %params=@_;
 
        return IkiWiki::FailReason->new("cannot match sourcepage") unless exists $params{sourcepage};
-       return 1 if match_glob($params{sourcepage}, $glob, @_);
-       return IkiWiki::FailReason->new("sourcepage does not match $glob");
+       if (match_glob($params{sourcepage}, $glob, @_)) {
+               return IkiWiki::SuccessReason->new("sourcepage matches $glob");
+       }
+       else {
+               return IkiWiki::FailReason->new("sourcepage does not match $glob");
+       }
 } #}}}
 
 sub match_destpage ($$;@) { #{{{
@@ -82,8 +90,12 @@ sub match_destpage ($$;@) { #{{{
        my %params=@_;
        
        return IkiWiki::FailReason->new("cannot match destpage") unless exists $params{destpage};
-       return 1 if match_glob($params{destpage}, $glob, @_);
-       return IkiWiki::FailReason->new("destpage does not match $glob");
+       if (match_glob($params{destpage}, $glob, @_)) {
+               return IkiWiki::SuccessReason->new("destpage matches $glob");
+       }
+       else {
+               return IkiWiki::FailReason->new("destpage does not match $glob");
+       }
 } #}}}
 
 sub match_included ($$;$) { #{{{
@@ -92,8 +104,12 @@ sub match_included ($$;$) { #{{{
        my %params=@_;
 
        return IkiWiki::FailReason->new("cannot match included") unless exists $params{sourcepage} && exists $params{destpage};
-       return 1 if $params{sourcepage} ne $params{destpage};
-       return IkiWiki::FailReason->new("page $params{sourcepage} is not included");
+       if ($params{sourcepage} ne $params{destpage}) {
+               return IkiWiki::SuccessReason->new("page $params{sourcepage} is included");
+       }
+       else {
+               return IkiWiki::FailReason->new("page $params{sourcepage} is not included");
+       }
 } #}}}
 
 1