Matthias Beyer
e956c51412
Holy shit, this compiles! Have a look at the documentation from src/cache.rs - there's a rather long description why we need this. |
||
---|---|---|
.. | ||
src | ||
test | ||
Cargo.toml | ||
Makefile | ||
README.md |
imag-ruby
A Ruby gem for scripting imag modules.
This crate contains both the Rust bindings for imag using ruru
and a bunch of
wrapper code for the actual imag
gem.
Why another layer of indirection?
As "ruru" does not yet support modules, which is sad btw, we would end up with functions for all the things.
E.G.: imag_runtime_setup()
instead of IMAG::Runtime::setup()
I want to add a Ruby gem to wrap these things.
So basically a piece of ruby which uses imag.rb
(the Rust gem) to build
imag
as a gem which then exports a fine module system.
Ideas for module system:
IMAG (Module)
Runtime (Module)
Runtime (Class)
Store (Module)
Store (Class)
Entry (Class)
StoreId (Class)
Util (Module, Ruby-only I guess)
I would name the types the same as in the Rust codebase, to avoid confusion.
Only exception would be the Entry
class, which would be a FileLockEntry
underneath and if we adapt libimagentrytag
and the other libimagentry*
libraries, we would extend this type.