|
1 | 1 | = Hacking on Net::LDAP |
2 | 2 |
|
| 3 | +We welcome your contributions to Net::LDAP. We accept most contributions, but |
| 4 | +there are ways to increase the chance of your patch being accepted quickly. |
| 5 | + |
| 6 | +== Licensing |
| 7 | + |
| 8 | +Net::LDAP 0.2 and later are be licensed under an MIT-style license; any |
| 9 | +contributions after 2010-04-20 must be under this license to be accepted. |
| 10 | + |
| 11 | +== Formatting |
| 12 | + |
| 13 | +* Your patches should be formatted like the rest of Net::LDAP. |
| 14 | +* We use a text wrap of 76–78 characters, especially for documentation |
| 15 | + contents. |
| 16 | +* Operators should have spaces around them. |
| 17 | +* Method definitions should have parentheses around arguments (and no |
| 18 | + parentheses if there are no arguments). |
| 19 | +* Indentation should be kept as flat as possible; this may mean being more |
| 20 | + explicit with constants. |
| 21 | + |
| 22 | + |
3 | 23 | We welcome your contributions to Net::LDAP. To increase the chances of your |
4 | 24 | patches being accepted, we recommend that you follow the guidelines below: |
5 | 25 |
|
6 | | -1. Your code should be formatted like the rest of Net::LDAP. We use a text |
7 | | - wrap of 76 - 78 characters, especially for documentation contents. |
8 | | - Operators should have spaces around them, method definitions should have |
9 | | - parentheses around arguments. Keep the indentation as flat as possible. |
10 | | -2. Your changes should be well-documented and described. |
11 | | -3. You must provide Rspec tests for any new or changed features. |
12 | | -4. You should provide LDIF data for importing into LDAP servers so that the |
13 | | - changes can be tested <em>in situ</em> with more than one real LDAP |
14 | | - server. |
15 | | -5. You should have tested your changes against a real LDAP server. |
16 | | -6. Your patch should include modifications to History.rdoc summarizing the |
17 | | - change. |
18 | | -7. If you're a first-time contributor, your patch should include modifications |
19 | | - to Contributors.rdoc. |
| 26 | +== Documentation |
| 27 | + |
| 28 | +* Documentation: {net-ldap}[http://net-ldap.rubyforge.org/] |
| 29 | + |
| 30 | +It is very important that, if you add new methods or objects, your code is |
| 31 | +well-documented. The purpose of the changes should be clearly described so that |
| 32 | +even if this is a feature we do not use, we can understand its purpose. |
| 33 | + |
| 34 | +We also encourage documentation-only contributions that improve the |
| 35 | +documentation of Net::LDAP. |
| 36 | + |
| 37 | +We encourage you to provide a good summary of your as a modification to |
| 38 | ++History.rdoc+, and if you're not yet named as a contributor, include a |
| 39 | +modification to +Contributors.rdoc+ to add yourself. |
| 40 | + |
| 41 | +== Tests |
| 42 | + |
| 43 | +The Net::LDAP team uses RSpec for unit testing; all changes must have rspec |
| 44 | +tests for any new or changed features. |
| 45 | + |
| 46 | +Your changes should have been tested against at least one real LDAP server; the |
| 47 | +current tests are not sufficient to find all possible bugs. It's unlikely that |
| 48 | +they will ever be sufficient given the variations in LDAP server behaviour. |
| 49 | + |
| 50 | +If you're introducing a new feature, it would be preferred for you to provide |
| 51 | +us with a sample LDIF data file for importing into LDAP servers for testing. |
| 52 | + |
| 53 | +== Development Dependencies |
| 54 | + |
| 55 | +Net::LDAP uses several libraries during development, all of which can be |
| 56 | +installed using RubyGems. |
| 57 | + |
| 58 | +* *hoe* |
| 59 | +* *hoe-git* |
| 60 | +* *metaid* |
| 61 | +* *rspec* |
| 62 | +* *flexmock* |
| 63 | + |
| 64 | +== Participation |
| 65 | + |
| 66 | +* RubyForge: {net-ldap}[http://rubyforge.org/projects/net-ldap] |
| 67 | +* GitHub: {ruby-ldap/ruby-net-ldap}[https://github.com/ruby-ldap/ruby-net-ldap/] |
| 68 | +* Group: {ruby-ldap}[http://groups.google.com/group/ruby-ldap] |
0 commit comments