A guide to Ruby's C API