Net::LDAPx::Simple と Catalyst::Model::LDAPx::Simple

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 予定。