summary refs log tree commit homepage
path: root/HACKING
blob: 66a8442c0b9e9f281fb4be7562af89f911e676f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
= Ruby TDB Hacker's Guide

=== Code Compatibility

We target C Ruby 1.9.3+ and (time permitting) Rubinius and their respective C
APIs.

All of our C code should be compatible with all reasonably modern Unices
and should run on compilers supported by the versions of Ruby we target.

We will NEVER support non-Free platforms under any circumstances.

Our C code follows K&R indentation style (hard tabs, tabs are always 8
characters wide) and NOT the indentation style of Matz Ruby.

== Contributing

Contributions are welcome in the form of patches, pull requests, code
review, testing, documentation, user support or any other feedback.  The
{Ruby TDB mailing list}[mailto:ruby-tdb-public@bogomips.org] is the central
coordination point for all user and developer feedback and bug reports.

=== Submitting Patches

Follow conventions already established in the code and do not exceed 80
characters per line.

Inline patches (from "git format-patch -M") to the mailing list are
preferred because they allow code review and comments in the reply to
the patch.

We will adhere to mostly the same conventions for patch submissions as
git itself.  See the Documentation/SubmittingPatches document
distributed with git on on patch submission guidelines to follow.  Just
don't email the git mailing list or maintainer with Ruby TDB patches :)

=== Mailing list rules

* Do not {top post}[http://catb.org/jargon/html/T/top-post.html] in replies
* Quote only the relevant portions of the message you're replying to
* Do not send HTML mail, they will be mercilessly deleted.

When referencing mailing list posts, use
<tt>https://bogomips.org/ruby-tdb-public/<$MESSAGE_ID>/</tt> since the
Message-ID remains searchable even if a particular site becomes unavailable.

== Running Development Versions

It is easy to install the contents of your git working directory:

Via RubyGems (RubyGems 1.3.5+ recommended for prerelease versions):

  gmake install-gem

Without RubyGems (via setup.rb):

  gmake install

It is not at all recommended to mix a RubyGems installation with an
installation done without RubyGems, however.