]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 283231: POD for Bugzilla::FlagType
authormkanat%kerio.com <>
Wed, 16 Mar 2005 10:30:00 +0000 (10:30 +0000)
committermkanat%kerio.com <>
Wed, 16 Mar 2005 10:30:00 +0000 (10:30 +0000)
Patch By Kevin Benton <kevin.benton@amd.com> r=mkanat, a=myk

Bugzilla/FlagType.pm

index 8a6eb0272382916b056998ba645fd0d91199d326..cf8b5d0f3b0d8d65fa8b350b13fa77364249f990 100644 (file)
 #
 # Contributor(s): Myk Melez <myk@mozilla.org>
 
-################################################################################
+=head1 NAME
+
+Bugzilla::FlagType - A module to deal with Bugzilla flag types.
+
+=head1 SYNOPSIS
+
+FlagType.pm provides an interface to flag types as stored in Bugzilla.
+See below for more information.
+
+=head1 NOTES
+
+=over
+
+=item *
+
+Prior to calling routines in this module, it's assumed that you have
+already done a C<require CGI.pl>.  This will eventually change in a
+future version when CGI.pl is removed.
+
+=item *
+
+Use of private functions/variables outside this module may lead to
+unexpected results after an upgrade.  Please avoid using private
+functions in other files/modules.  Private functions are functions
+whose names start with _ or are specifically noted as being private.
+
+=back
+
+=cut
+
+######################################################################
 # Module Initialization
-################################################################################
+######################################################################
 
 # Make it harder for us to do dangerous things in Perl.
 use strict;
@@ -36,14 +66,24 @@ use Bugzilla::Error;
 use Bugzilla::Util;
 use Bugzilla::Config;
 
-# Note!  This module requires that its caller have said "require CGI.pl" 
-# to import relevant functions from that script and its companion globals.pl.
-
-################################################################################
+######################################################################
 # Global Variables
-################################################################################
+######################################################################
 
-# basic sets of columns and tables for getting flag types from the database
+=begin private
+
+=head1 PRIVATE VARIABLES/CONSTANTS
+
+=over
+
+=item C<@base_columns>
+
+basic sets of columns and tables for getting flag types from the
+database.  B<Used by get, match, sqlify_criteria and perlify_record>
+
+=back
+
+=cut
 
 my @base_columns = 
   ("1", "flagtypes.id", "flagtypes.name", "flagtypes.description", 
@@ -52,20 +92,44 @@ my @base_columns =
    "flagtypes.is_requesteeble", "flagtypes.is_multiplicable", 
    "flagtypes.grant_group_id", "flagtypes.request_group_id");
 
-# Note: when adding tables to @base_tables, make sure to include the separator 
-# (i.e. a comma or words like "LEFT OUTER JOIN") before the table name, 
-# since tables take multiple separators based on the join type, and therefore 
-# it is not possible to join them later using a single known separator.
+=pod
+
+=over
+
+=item C<@base_tables>
+
+Which database(s) is the data coming from?
+
+Note: when adding tables to @base_tables, make sure to include the separator 
+(i.e. a comma or words like C<LEFT OUTER JOIN>) before the table name, 
+since tables take multiple separators based on the join type, and therefore 
+it is not possible to join them later using a single known separator.
+B<Used by get, match, sqlify_criteria and perlify_record>
+
+=back
+
+=end private
+
+=cut
 
 my @base_tables = ("flagtypes");
 
-################################################################################
+######################################################################
 # Public Functions
-################################################################################
+######################################################################
+=head1 PUBLIC FUNCTIONS/METHODS
 
-sub get {
-    # Returns a hash of information about a flag type.
+=over
+
+=item C<get($id)>
+
+Returns a hash of information about a flag type.
+
+=back
 
+=cut
+
+sub get {
     my ($id) = @_;
 
     my $select_clause = "SELECT " . join(", ", @base_columns);
@@ -80,16 +144,52 @@ sub get {
     return $type;
 }
 
+=pod
+
+=over
+
+=item C<get_inclusions($id)>
+
+Someone please document this
+
+=back
+
+=cut
+
 sub get_inclusions {
     my ($id) = @_;
     return get_clusions($id, "in");
 }
 
+=pod
+
+=over
+
+=item C<get_exclusions($id)>
+
+Someone please document this
+
+=back
+
+=cut
+
 sub get_exclusions {
     my ($id) = @_;
     return get_clusions($id, "ex");
 }
 
+=pod
+
+=over
+
+=item C<get_clusions($id, $type)>
+
+Someone please document this
+
+=back
+
+=cut
+
 sub get_clusions {
     my ($id, $type) = @_;
     
@@ -111,10 +211,20 @@ sub get_clusions {
     return \@clusions;
 }
 
-sub match {
-    # Queries the database for flag types matching the given criteria
-    # and returns the set of matching types.
+=pod
 
+=over
+
+=item C<match($criteria, $include_count)>
+
+Queries the database for flag types matching the given criteria
+and returns the set of matching types.
+
+=back
+
+=cut
+
+sub match {
     my ($criteria, $include_count) = @_;
 
     my @tables = @base_tables;
@@ -157,9 +267,19 @@ sub match {
     return \@types;
 }
 
+=pod
+
+=over
+
+=item C<count($criteria)>
+
+Returns the total number of flag types matching the given criteria.
+
+=back
+
+=cut
+
 sub count {
-    # Returns the total number of flag types matching the given criteria.
-    
     my ($criteria) = @_;
 
     # Generate query components.
@@ -184,14 +304,25 @@ sub count {
     return $count;
 }
 
+=pod
+
+=over
+
+=item C<validate($data, $bug_id, $attach_id)>
+
+Get a list of flag types to validate.  Uses the "map" function
+to extract flag type IDs from form field names by matching columns
+whose name looks like "flag_type-nnn", where "nnn" is the ID,
+and returning just the ID portion of matching field names.
+
+=back
+
+=cut
+
 sub validate {
     my $user = Bugzilla->user;
     my ($data, $bug_id, $attach_id) = @_;
   
-    # Get a list of flag types to validate.  Uses the "map" function
-    # to extract flag type IDs from form field names by matching columns
-    # whose name looks like "flag_type-nnn", where "nnn" is the ID,
-    # and returning just the ID portion of matching field names.
     my @ids = map(/^flag_type-(\d+)$/ ? $1 : (), keys %$data);
   
     foreach my $id (@ids)
@@ -273,10 +404,20 @@ sub validate {
     }
 }
 
+=pod
+
+=over
+
+=item C<normalize(@ids)>
+
+Given a list of flag types, checks its flags to make sure they should
+still exist after a change to the inclusions/exclusions lists.
+
+=back
+
+=cut
+
 sub normalize {
-    # Given a list of flag types, checks its flags to make sure they should
-    # still exist after a change to the inclusions/exclusions lists.
-    
     # A list of IDs of flag types to normalize.
     my (@ids) = @_;
     
@@ -309,17 +450,30 @@ sub normalize {
     Bugzilla::Flag::clear(&::FetchOneColumn()) while &::MoreSQLData();
 }
 
-################################################################################
+######################################################################
 # Private Functions
-################################################################################
+######################################################################
+
+=begin private
+
+=head1 PRIVATE FUNCTIONS
+
+=over
+
+=item C<sqlify_criteria($criteria, Rtables, $columns, $having)>
+
+Converts a hash of criteria into a list of SQL criteria.
+$criteria is a reference to the criteria (field => value), 
+$tables is a reference to an array of tables being accessed 
+by the query, $columns is a reference to an array of columns
+being returned by the query, and $having is a reference to
+a criterion to put into the HAVING clause.
+
+=back
+
+=cut
 
 sub sqlify_criteria {
-    # Converts a hash of criteria into a list of SQL criteria.
-    # $criteria is a reference to the criteria (field => value), 
-    # $tables is a reference to an array of tables being accessed 
-    # by the query, $columns is a reference to an array of columns
-    # being returned by the query, and $having is a reference to
-    # a criterion to put into the HAVING clause.
     my ($criteria, $tables, $columns, $having) = @_;
 
     # the generated list of SQL criteria; "1=1" is a clever way of making sure
@@ -379,9 +533,20 @@ sub sqlify_criteria {
     return @criteria;
 }
 
+=pod
+
+=over
+
+=item C<perlify_record()>
+
+Converts data retrieved from the database into a Perl record.  Depends on the
+formatting as described in @base_columns.
+
+=back
+
+=cut
+
 sub perlify_record {
-    # Converts data retrieved from the database into a Perl record.
-    
     my $type = {};
     
     $type->{'exists'} = $_[0];
@@ -402,4 +567,26 @@ sub perlify_record {
     return $type;
 }
 
+=end private
+
+=head1 SEE ALSO
+
+=over
+
+=item B<Bugzilla::Flags>
+
+=back
+
+=head1 CONTRIBUTORS
+
+=over
+
+=item Myk Melez <myk@mozilla.org>
+
+=item Kevin Benton <kevin.benton@amd.com>
+
+=back
+
+=cut
+
 1;