Catalyst::Model::LDAP::Entry.3pm

Langue: en

Autres versions - même langue

Version: 2008-02-19 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

Catalyst::Model::LDAP::Entry - Convenience methods for Net::LDAP::Entry

SYNOPSIS

     # In your controller
     my $mesg = $c->model('Person')->search('(cn=Lou Rhodes)');
     my $entry = $mesg->shift_entry;
     print $entry->title;
 
 

DESCRIPTION

This module simplifies use of Net::LDAP::Entry objects in your application. It makes accessors and mutators for all attributes on an entry. For example:
     print $entry->cn;
 
 

It also stores a reference to the parent LDAP connection, simplifying updates to the entry:

     $entry->title('Folk singer');
     $entry->update;
 
 

ADDING ENTRY METHODS

If you want to provide your own methods on an LDAP entry, you can use the "entry_class" configuration variable. For example:
     # In lib/MyApp/Model/LDAP.pm
     package MyApp::Model::LDAP;
     use base qw/Catalyst::Model::LDAP/;
 
     __PACKAGE__->config(
         # ...
         entry_class => 'MyApp::LDAP::Entry',
     );
 
     1;
 
     # In lib/MyApp/LDAP/Entry.pm
     package MyApp::LDAP::Entry;
     use base qw/Catalyst::Model::LDAP::Entry/;
     use DateTime::Format::Strptime;
 
     sub get_date {
         my ($self, $attribute) = @_;
 
         my ($datetime) = ($self->get_value($attribute) =~ /^(\d{14})/);
 
         my $parser = DateTime::Format::Strptime->new(
             pattern     => '%Y%m%d%H%M%S',
             locale      => 'en_US',
             time_zone   => 'UTC'
         );
 
         return $parser->parse_datetime($datetime);
     }
 
     1;
 
 

METHODS


new

Override the Net::LDAP::Entry object constructor to take an optional LDAP handle. If provided this will be used automatically on ``update''.

update

Override "update" to default to the optional LDAP handle provided to the constructor.

can

Override "can" to declare existence of the LDAP entry attribute methods from "AUTOLOAD".

SEE ALSO

Catalyst::Model::LDAP
Catalyst::Model::LDAP::Search

AUTHORS

Marcus Ramberg

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.