2017-05-07 08:04:49 -04:00
|
|
|
C-API Specs
|
|
|
|
|
|
|
|
These specs test the C-API from Ruby. 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_new function, put the specs in
|
|
|
|
optional/capi/array_spec.rb
|
|
|
|
2. Put the C file containing the C functions for array_spec.rb in
|
|
|
|
optional/capi/ext/array_spec.c
|
|
|
|
3. Add a '#define HAVE_RB_ARY_NEW 1' to rubyspec.h
|
|
|
|
4. Name the C extension class 'CApiArraySpecs'.
|
|
|
|
5. Name the C functions 'array_spec_rb_ary_new'.
|
|
|
|
6. Wrap the code in the optional/capi/ext/array_spec.c in
|
|
|
|
'#ifdef HAVE_RB_ARY_NEW'
|
2018-08-21 18:01:34 -04:00
|
|
|
7. Attach the C function to the class using the name 'rb_ary_new'
|