aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/optional/capi/README
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/optional/capi/README')
-rw-r--r--spec/ruby/optional/capi/README16
1 files changed, 16 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/README b/spec/ruby/optional/capi/README
new file mode 100644
index 0000000000..efbfb09dcb
--- /dev/null
+++ b/spec/ruby/optional/capi/README
@@ -0,0 +1,16 @@
+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'
+6. Attach the C function to the class using the name 'rb_ary_new'