App-LDAP
view release on metacpan or search on metacpan
lib/App/LDAP/LDIF.pm view on Meta::CPAN
my $msg = ldap()->delete($self->dn);
die $msg->error if $msg->code;
}
sub save {
# not yet be able to modify()
my ($self) = shift;
my $msg = ldap()->add($self->entry);
die $msg->error if $msg->code;
}
sub entry {
my ($self) = shift;
my $entry = Net::LDAP::Entry->new( $self->dn );
$entry->add($_ => $self->$_)
for grep {
$self->$_
} grep {
!/dn/
} map {
$_->name
} $self->meta->get_all_attributes;
$entry;
}
__PACKAGE__->meta->make_immutable;
no Moose;
1;
=head1 NAME
App::LDAP::LDIF - base class of models in App::LDAP
=head1 SYNOPSIS
package App::LDAP::LDIF::Animal
use Moose;
with 'App::LDAP::LDIF';
use Net::LDAP::Entry;
has name => (
is => "rw",
isa => "Str",
);
package Controller;
my $dog = App::LDAP::LDIF::Animal->new( name => "lucky" );
my $dog->save;
my $cat = App::LDAP::LDIF::Animal->find( name => "mou" );
say $cat->entry->ldif;
=cut
( run in 1.104 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )