Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
mrusty. mruby safe bindings for Rust
[] (https://travis-ci.org/anima-engine/mrusty) [![Coverage Status] (https://coveralls.io/repos/github/anima-engine/mrusty/badge.svg?branch=master)] (https://coveralls.io/github/anima-engine/mrusty?branch=master)
mrusty lets you reflect Rust struct
s and enum
s in mruby and run them.
It does this in a safely neat way while also bringing spec testing and a REPL
to the table.
Note: Starting with v0.3.0, mrusty will only work with Rust nightly. This
is caused by a need to capture panic
s in mruby. Once this features stabilizes
(and it will in Rust 1.9.0), mrusty will return to stable Rust.
Requirements
mrusty requires mruby compiled with -fPIC
. To compile and install mruby 1.2.0:
- make sure you have Bison & Ruby installed
- download the source
- unzip and
cd
tomruby-1.2.0/
- add the following lines to
build_config.rb
as in the# C compiler settings
example (make sure you add it after the comment):
conf.cc do
cc.flags <<
end
- run
./minirake
- copy header files from
include
to/usr/loca/include
- copy
build/host/lib/libmruby.a
to/usr/local/lib
Note: On OSX you can install it from homebrew with brew install mruby
.
Documentation
Example
A very simple example of a Container struct
which will be passed to mruby and
which is perfectly callable.
// mrfn!
extern crate mrusty;
// Needs some undocumented, hidden calls.
use *;
let mruby = new;
// Cont should not flood the current namespace. We will add it with require.
mrclass!;
// Add file to the context, making it requirable.
mruby.;
// Add spec testing.
describe!;
let result = mruby.run.unwrap; // Returns Value.
println!; // Prints "3".