SkillAgentSearch skills...

Gorb

Auto-generates a native Ruby wrapper stub for a given Go package.

Install / Use

/learn @lsegal/Gorb
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

gorb

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.

Installing

$ go get -a github.com/lsegal/gorb/...
$ go install github.com/lsegal/gorb/cmd/gorbgen

Requirements

Currently, this project only works under Linux. See the Docker notes below for testing in a working environment.

Docker

You can use Docker to run the examples:

cd $GOPATH/github.com/lsegal/gorb
docker build -t lsegal/gorb .
sh start-docker.sh

Usage Example

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

Run Tests

To run acceptance tests:

$ ./test/test.sh

Tests pass if exit code is 0.

TODO

  • [ ] Support for slices, maps, complex pointer types.
  • [x] Support for basic slice types (string, bool, int, float64).
  • [x] Support for pass-by-value structs (partial value type support).
  • [x] Support for external packages (partial support for local packages).
  • [x] Support for error returns (as exceptions?).
  • [x] Support for blocks
  • [ ] Compilation support for other systems (Windows not supported).

License

Licensed under the BSD license. Copyright Loren Segal 2016.

View on GitHub
GitHub Stars34
CategoryDevelopment
Updated11mo ago
Forks3

Languages

Go

Security Score

67/100

Audited on May 7, 2025

No findings