Rechercher une page de manuel
WWW::Myspace::MyBase.3pm
Langue: en
Version: 2006-04-20 (fedora - 05/07/09)
Section: 3 (Bibliothèques de fonctions)
NAME
WWW::Myspace::MyBase - Base class for WWW::Myspace modulesVERSION
Version 0.3SYNOPSIS
This is a base class that can be used for all WWW::Myspace modules. It provides basic, standardized options parsing in several formats. It validates data using Params::Validate.To use this in your new module, you simply subclass this module, add the ``default_options'' method to define your data, and write your methods.
package WWW::Myspace::MyModule; use WWW::Myspace::MyBase -Base; const default_options => { happiness => 1, # Required count => { default => 50 }, # Not required, defaults to 50 }; field 'happiness'; field 'count'; sub mymethod { if ( $self->happiness ) { print "I'm happy" } } People can then call your method with: $object = new WWW::Myspace::MyModule( happiness => 5 ); or $object = new WWW::Myspace::MyModule( { happiness => 5 } );
See Params::Validate for more info on the format of, and available parsing stunts available in, default_options.
METHODS
default_options
This method returns a hashref of the available options and their default values. The format is such that it can be passed to Params::Validate (and, well it is :).
You MUST override this method to return your default options. Fortunately we use Spiffy, so you just have to do this:
const default_options => { option => { default => value }, option => { default => value }, };
positional_parameters
If you need to use positional paramteres, define a ``positional_parameters'' method that returns a reference to a list of the parameter names in order, like this:
const positional_parameters => [ "username", "password" ];
new
Initialize and return a new object. $myspace is a WWW::Myspace object.
We accept the following formats: new - Just creates and returns the new object. new( $myspace ) - Where $myspace is a WWW::Myspace object. new( $myspace, $options_hashref ) - Myspace object followed by a hashref of option => value pairs new( $options_hashref ) new( %options ); new( @options ); - Each option passed is assigned in order to the keys of the "DEFAULT_OPTIONS" hash. new( 'config_file' => "/path/to/file", 'config_file_format' => 'YAML' ); - File format can be "YAML" (see YAML.pm) or "CFG" (see Config::General). - Defaults to "YAML" if not specified.
If you specify options and a config file, the config file will be read, and any options you explicitly passed will override the options read from the config file.
set_options
Allows you to set additional options. This is called by the ``new'' method to parse, validate, and set options into the object. You can call it yourself if you want to, either to set the options, or to change them later.
# Set up the object $object->new( myspace => $myspace ); # Read in a config file later. $object->set_options( config_file => $user_config );
This also lets you override options you supply directly with, say, a user-supplied config file. Otherwise, the options passed to ``new'' would override the config file.
get_options
General accessor method for all options. Takes a list of options and returns their values.
If called with one option, returns just the value. If called with more than one option, returns a list of option => value pairs (not necessarily in the order of your original list). If called with no arguments, returns a list of all options and their values (as option => value pairs).
This is basically a ``catch all'' accessor method that allows you to be lazy ad not create accessors for your options.
parse_options
This method is called by set_options to determine the format of the options passed and return a hash of option=>value pairs. If needed, you can call it yourself using the same formats described in ``new'' above.
$object->new; $object->parse_options( 'username' => $username, 'config_file' => "/path/to/file" );
read_config_file
This method is called by parse_options. If a ``config_file'' argument is passed, this method is used to read options from it. Currently supports CFG and YAML formats.
myspace
Sets/retreives the myspace object with which we're logged in. You probably don't need to use this as you'll pass it to the new method instead.
save( filename )
Saves the object to the file specified by ``filename''. Saved every field specified in the default_options method except the myspace object.
load( filename )
Loads a message in YAML format (i.e. as saved by the save method) from the file specified by filename.
AUTHOR
Grant Grueninger, "<grantg at cpan.org>"BUGS
Please report any bugs or feature requests to "bug-www-myspace at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-Myspace>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.NOTES
You currently have to both specify the options in default_options and create accessor methods for those you want accessor methods for (i.e. all of them). This should be made less redundant.We probably want to include cache_dir and possibile cache_file methods here.
TO DO
SUPPORT
You can find documentation for this module with the perldoc command.perldoc WWW::Myspace::MyBase
You can also look for information at:
- •
- AnnoCPAN: Annotated CPAN documentation
<http://annocpan.org/dist/WWW-Myspace>
- •
- CPAN Ratings
<http://cpanratings.perl.org/d/WWW-Myspace>
- •
- RT: CPAN's request tracker
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=WWW-Myspace>
- •
- Search CPAN
<http://search.cpan.org/dist/WWW-Myspace>
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2005 Grant Grueninger, all rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre