Net::LDAP::Alterntive あらため Net::LDAP::Abstract ですが、この名前だと Net::LDAP の中のモジュールと区別がつかないし、パッと見何をやるモジュールなのか分からないので、Net::LDAPx::Simple (SVN) とまた名称を変更しました。DBIx::Simple からの連想です。 以下の様な感じで CRUD が一通りできるようになってます。
# Create my $res = $ldap->create({ dn => 'uid=mizzy, ou=people, o=southpark', objectclass => [ 'person', 'inetorgperson' ], sn => 'Miyashita', cn => 'Gosuke Miyashita', uid => 'mizzy', }); # Retrieve my $entries = $ldap->search({ -or => { uid => 'miya', cn => 'miyashita*', }, } }); # Update my $entry = $entries->first; $entry->telephonenumber('00-0000-0000'); $entry->update; # Delete $entry->delete;
ついでに Catalyst::Model::LDAPx::Simple (SVN) もつくりました。Catalyst::Model::* つくるのはじめてなので、こんな感じでいいのかちょっと不安。もう少し他の Catalyst::Model::* のソースを読んでみる。
もうちょいエラーハンドリングちゃんとして、POD 書いたり Helper つくったりした後に CPAN に up 予定。