|
NAMEMaypole::Model::Base - Base class for model classesDESCRIPTIONThis is the base class for Maypole data models. This is an abstract class that defines the interface, and can't be used directly.processThis is the engine of this module. Given the request object, it populates all the relevant variables and calls the requested action.Anyone subclassing this for a different database abstraction mechanism needs to provide the following methods: setup_database$model->setup_database($config, $namespace, @data) Uses the user-defined data in @data to specify a database- for example, by passing in a DSN. The model class should open the database, and create a class for each table in the database. These classes will then be "adopt"ed. It should also populate "$config->tables" and "$config->classes" with the names of the classes and tables respectively. The classes should be placed under the specified namespace. For instance, "beer" should be mapped to the class "BeerDB::Beer". class_of$model->class_of($r, $table) This maps between a table name and its associated class. fetch_objectsThis class method is passed a request object and is expected to return an object of the appropriate table class from information stored in the request object.adoptThis class method is passed the name of a model class that represensts a table and allows the master model class to do any set-up required.columnsThis is a list of all the columns in a table. You may also override see also "display_columns"tableThis is the name of the table.Actions
Also, see the exported commands in "Maypole::Model::CDBI". Other overridesAdditionally, individual derived model classes may want to override the following methods:display_columnsReturns a list of columns to display in the model. By default returns all columns in alphabetical order. Override this in base classes to change ordering, or elect not to show columns.list_columnsSame as display_columns, only for listings. Defaults to display_columnscolumn_namesReturn a hash mapping column names with human-readable equivalents.is_publicshould return true if a certain action is supported, or false otherwise. Defaults to checking if the sub has the ":Exported" attribute.add_model_superclassAdds model as superclass to model classes (if necessary)method_attrsReturns the list of attributes defined for a method. Maypole itself only defines the "Exported" attribute.relatedThis can go either in the master model class or in the individual classes, and returns a list of has-many accessors. A brewery has many beers, so "BeerDB::Brewery" needs to return "beers".SEE ALSOMaypole, Maypole::Model::CDBI.AUTHORMaypole is currently maintained by Aaron Trevena.AUTHOR EMERITUSSimon Cozens, "simon#cpan.org"Simon Flack maintained Maypole from 2.05 to 2.09 Sebastian Riedel, "sri#oook.de" maintained Maypole from 1.99_01 to 2.04 LICENSEYou may distribute this code under the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. |