Rubinius provides a Ruby C-API interface for C extensions.

These specs test the C-API from the Ruby side. See the tests in
vm/test/capi/*.hpp for C-API functions that are not exposed to Ruby code.

The following are conventions for the specs:

1.  Put specs for functions related to a Ruby class in a file named according
    to the class. For example, for rb_ary_xxx functions, put the specs in
    spec/capi/array_spec.rb
2.  Put the C file containing the C functions for array_spec.rb in
    spec/capi/ext/array_spec.c
3.  Name the C extension class 'CApiArraySpecs'.
4.  Name the C functions 'array_spec_xxx'.
5.  Attach the C function to the class using the same name as the rb_xxx
    function that the spec in written for. For example, if the spec is
    for 'rb_ary_new', the C extension function is named
    'spec_array_rb_ary_new' and that function is defined as the Ruby method
    CApiArraySpecs#rb_ary_new.

TODO: show a complete example
