The primary goal of rb-sys
is to make building native Ruby extensions in Rust easier than it would be in C. If
it's not easy, it's a bug.
For comprehensive documentation, please refer to the Ruby on Rust Book, which covers:
- Getting started and quick start tutorials
- Working with Ruby objects, classes, and modules
- Memory management and safety
- Cross-platform development
- Testing and debugging
- API reference for rb-sys crate and rb_sys gem
- rb-sys crate: Battle-tested Rust bindings for the Ruby C API
- rb_sys gem: Simplifies compiling Rust code into Ruby extensions
- rb-sys-test-helpers: Utilities for testing Ruby extensions from Rust
- rb-sys-dock: Docker-based cross-compilation tooling
- Ruby: 2.6+
- Rust: 1.65+
- oxi-test - Canonical example of rb-sys usage (minimal, tested, cross-compiled)
- blake3-ruby - Fast cryptographic hash function
- wasmtime-rb - WebAssembly runtime with rb-sys and Magnus
- lz4-ruby - LZ4 compression library
- Join the Oxidize Ruby Slack
and post in the
#general
channel - Open an issue on GitHub
See the CONTRIBUTING.md file for information about setting up a development environment.
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.