13 releases
Uses old Rust 2015
0.7.5 | Jun 4, 2018 |
---|---|
0.7.3 | Mar 6, 2018 |
0.7.2 | Oct 10, 2017 |
0.6.1 | May 18, 2017 |
0.1.0 |
|
#247 in FFI
733 downloads per month
190KB
2.5K
SLoC
Helix
Helix allows you to write Ruby classes in Rust without having to write the glue code yourself.
ruby! {
class Console {
def log(string: String) {
println!("LOG: {}", string);
}
}
}
$ rake build
$ bundle exec irb
>> require "console"
>> Console.log("I'm in your Rust")
LOG: I'm in your Rust
=> nil
Why Helix?
Read the Introducing Helix blog post for a quick introduction to the project!
Getting Started
https://usehelix.com/getting_started
Demos
Roadmap
Compatibility
Helix has been tested with the following, though other combinations may also work.
- cargo 0.18.0 (fe7b0cdcf 2017-04-24)
- rustc 1.17.0 (56124baa9 2017-04-24)
- ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
- Bundler version 1.14.6
Contributing
If you'd like to experiment with Helix, you can start with some of the examples in this repository.
Clone and download the Helix repository:
$ git clone https://github.com/tildeio/helix
$ cd helix
Navigate to the console example folder and bundle your Gemfile
:
$ cd examples/console
$ bundle install
Run rake irb
to build and start irb:
$ bundle exec rake irb
Try running some of the methods defined in examples/console/src/lib.rs
:
> c = Console.new
Console { helix: VALUE(0x7fdacc19a6a0) }
=>
> c.hello
hello
=> nil
> c.loglog('hello', 'world')
hello world
=> nil