Add readme file for imag-ruby
This commit is contained in:
parent
db94e2f1f7
commit
8324159bc4
1 changed files with 36 additions and 0 deletions
36
imag-ruby/README.md
Normal file
36
imag-ruby/README.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
# 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:
|
||||
|
||||
```text
|
||||
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.
|
||||
|
Loading…
Reference in a new issue