Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Object-oriented schema-aware LDAP wrapper for Ruby
Ruby
tag: v0.1.2

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.gitignore
Gemfile
LICENSE
README.rdoc
Rakefile
ldapter.gemspec
setup.rb

README.rdoc

Ldapter

This is an unfinished library I wrote back in 2007 for interfacing with an LDAP server loosely in the style of Active Record. It's unique in that it creates a class hierarchy (in a namespace your provide) that exactly mirrors the class hierarchy on the server. For example, on a typical server, you'll get an InetOrgPerson class which inherits from OrganizationalPerson which inherits from Person which inherits from Top. You can reopen any of these classes to add additional client side behavior.

Ldapter started as mainly a tool to interact with my company's Active Directory server, and I lost interest in it when I left that job. Recently, I've become motivated to work on it again, as some of the blocking issues I faced are now potentially solvable with Active Model.

TODO

  • Verify everything still works. The tests take care of much of this, but there are no integration tests for the adapters. In particular, I have no way to verify the Active Directory adapter still works.

  • The test suite (reflecting my fledgling testing abilities from 2007) is more smoke test than BDD. Perhaps switch to RSpec in the quest to rectify this.

  • Right now, violating a server side constraint causes an exception on assignment, but if we are to become Active Model compliant, it would make more sense to issue a validation error on save.

  • Active Model validations. This isn't as simple as it seems, as LDAP attributes are inherently multivalued, and Active Model assumes single values. Also, does anyone actually need validations above and beyond what the server provides?

  • Active Model callbacks, serialization, etc. This is waiting on the above two.

  • Chainable criteria, like Active Record 3. filter(sn: "Hill").limit(3)

  • Make it possible to put separate classes in separate files with Rails autoloading.

  • Documentation. The RDoc is actually pretty solid, but it needs a supplementary manual, along with some examples.

  • Pick a better name? Ldapter has an ambiguous spelling.

Something went wrong with that request. Please try again.