2010-03-25 04:16:58 +01:00
|
|
|
|
= Hacking Net::LDAP
|
|
|
|
|
|
2010-04-19 07:03:52 +02:00
|
|
|
|
We welcome your contributions to Net::LDAP. We accept most contributions, but
|
|
|
|
|
there are ways to increase the chance of your patch being accepted quickly.
|
|
|
|
|
|
|
|
|
|
== Licensing
|
|
|
|
|
|
|
|
|
|
Net::LDAP 0.3 and later will be licensed under an MIT-style license; any
|
|
|
|
|
contributions after 2010-04-20 must be under this license to be accepted.
|
|
|
|
|
|
|
|
|
|
== Formatting
|
|
|
|
|
|
|
|
|
|
* Your patches should be formatted like the rest of Net::LDAP.
|
|
|
|
|
* We use a text wrap of 76–78 characters, especially for documentation
|
|
|
|
|
contents.
|
|
|
|
|
* Operators should have spaces around them.
|
|
|
|
|
* Method definitions should have parentheses around arguments (and no
|
|
|
|
|
parentheses if there are no arguments).
|
|
|
|
|
* Indentation should be kept as flat as possible; this may mean being more
|
|
|
|
|
explicit with constants.
|
|
|
|
|
|
|
|
|
|
== Documentation
|
|
|
|
|
|
|
|
|
|
* Documentation: net-ldap[http://net-ldap.rubyforge.org/]
|
|
|
|
|
|
|
|
|
|
It is very important that, if you add new methods or objects, your code is
|
|
|
|
|
well-documented. The purpose of the changes should be clearly described so that
|
|
|
|
|
even if this is a feature we do not use, we can understand its purpose.
|
|
|
|
|
|
|
|
|
|
We also encourage documentation-only contributions that improve the
|
|
|
|
|
documentation of Net::LDAP.
|
|
|
|
|
|
|
|
|
|
== Tests
|
|
|
|
|
|
|
|
|
|
The Net::LDAP team uses RSpec for unit testing; all changes must have rspec
|
|
|
|
|
tests for any new or changed features.
|
|
|
|
|
|
|
|
|
|
Your changes should have been tested against at least one real LDAP server; the
|
|
|
|
|
current tests are not sufficient to find all possible bugs. It's unlikely that
|
|
|
|
|
they will ever be sufficient given the variations in LDAP server behaviour.
|
|
|
|
|
|
|
|
|
|
If you're introducing a new feature, it would be useful to provide LDIF data
|
|
|
|
|
for importing into LDAP servers for testing.
|
|
|
|
|
|
|
|
|
|
== Development Dependencies
|
|
|
|
|
|
|
|
|
|
Net::LDAP uses several libraries during development, all of which can be
|
|
|
|
|
installed using RubyGems.
|
|
|
|
|
|
|
|
|
|
* *hoe*
|
|
|
|
|
* *hoe-git*
|
|
|
|
|
* *archive-tar-minitar*
|
|
|
|
|
* *metaid*
|
|
|
|
|
|
|
|
|
|
== Participation
|
|
|
|
|
|
|
|
|
|
* RubyForge: net-ldap[http://rubyforge.org/projects/net-ldap]
|
|
|
|
|
* GitHub: RoryO/ruby-net-ldap[http://github.com/RoryO/ruby-net-ldap/]
|
|
|
|
|
* Group: ruby-ldap[http://groups.google.com/group/ruby-ldap]
|