go<->rb
gorb provides a tool gorbgen
to generate a native Ruby wrapper for a given Go
package into the ext/<package>
directory. The module name generated will be
relative to the package directory you run gorbgen
from.
$ go get -a github.com/lsegal/gorb/...
$ go install github.com/lsegal/gorb/cmd/gorbgen
Currently, this project only works under Linux. See the Docker notes below for testing in a working environment.
You can use Docker to run the examples:
cd $GOPATH/github.com/lsegal/gorb
docker build -t lsegal/gorb .
sh start-docker.sh
Here is an example of running the built-in Test::Fib::Fibonacci
package:
cd $GOPATH/github.com/lsegal/gorb
gorbgen -build test/fib
ruby ext/test/fib/test_fib.rb
To run acceptance tests:
$ ./test/test.sh
Tests pass if exit code is 0.
- Support for slices, maps, complex pointer types.
- Support for basic slice types (string, bool, int, float64).
- Support for pass-by-value structs (partial value type support).
- Support for external packages (partial support for local packages).
- Support for error returns (as exceptions?).
- Support for blocks
- Compilation support for other systems (Windows not supported).
Licensed under the BSD license. Copyright Loren Segal 2016.