Go to file
Terence Lee 088a636192 allow private constructor. also add docopt example
You can do this by setting:

```
def initialize(helix, ...) {
}
```

Right now this only works on the constructor and only unexported is
supported.
2018-06-14 00:09:09 -07:00
crates allow private constructor. also add docopt example 2018-06-14 00:09:09 -07:00
examples allow private constructor. also add docopt example 2018-06-14 00:09:09 -07:00
ruby allow private constructor. also add docopt example 2018-06-14 00:09:09 -07:00
scripts Improve Vagrant release tests 2017-10-10 20:02:36 -07:00
src allow private constructor. also add docopt example 2018-06-14 00:09:09 -07:00
.appveyor.yml Add game of life example 2018-06-04 09:22:38 -04:00
.gitignore Don't lock Gemfiles 2017-10-10 16:16:48 -07:00
.travis.yml Add game of life example 2018-06-04 09:22:38 -04:00
CHANGELOG.md v0.7.5 2018-06-04 16:15:00 -04:00
Cargo.toml allow private constructor. also add docopt example 2018-06-14 00:09:09 -07:00
LICENSE Add LICENSE 2017-02-16 14:42:06 -08:00
README.md Remove coercion docs for now 2017-10-17 23:33:44 -07:00
RELEASE.md Fix numbering in RELEASE.md 2017-04-24 10:09:48 -07:00
Rakefile allow private constructor. also add docopt example 2018-06-14 00:09:09 -07:00
Vagrantfile Add scripts dir, renable Vagrant provisioning 2017-03-03 12:21:57 -08:00
console.d.ts Initial commit 2016-05-06 15:01:20 -05:00

README.md

Travis Build Status AppVeyor Build Status

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

https://usehelix.com/demos

Roadmap

https://usehelix.com/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