update readme

This commit is contained in:
a-Sansara 2018-08-20 03:44:36 +02:00
parent 6b77c25111
commit 93ed254f8c

View File

@ -18,7 +18,7 @@ with version 0.5, **pluie-yaml** is now able to :
**pluie-yaml** use the ![libyaml c library](https://github.com/yaml/libyaml) (License MIT, many thanks to Kirill Simonov) to parse and retriew related yaml events. **pluie-yaml** use the ![libyaml c library](https://github.com/yaml/libyaml) (License MIT, many thanks to Kirill Simonov) to parse and retriew related yaml events.
![pluie-yaml-1](https://www.meta-tech.academy/img/pluie-yaml-1.png) ![pluie-yaml-1](https://www.meta-tech.academy/img/pluie-yaml-1.png?tmp=1)
![pluie-yaml-2](https://www.meta-tech.academy/img/pluie-yaml-2.png) ![pluie-yaml-2](https://www.meta-tech.academy/img/pluie-yaml-2.png)
@ -120,7 +120,7 @@ see Finder below to get precisions about config.get parameter (search path defin
![pluie-yaml](https://www.meta-tech.academy/img/pluie-yaml-imports2.png) ![pluie-yaml](https://www.meta-tech.academy/img/pluie-yaml-imports2.png)
_legend display_childs_ : __legend display_childs__ :
``` ```
[ node.name [refCount] node.parent.name node.level node.ntype.infos () node.count () node.uuid node.tag] [ node.name [refCount] node.parent.name node.level node.ntype.infos () node.count () node.uuid node.tag]
@ -337,7 +337,7 @@ We cannot do introspection on Structure's properties, so you need to implement a
First at all, in the static construct of your class, you need to register (properties) types that need some glue for instanciation. First at all, in the static construct of your class, you need to register (properties) types that need some glue for instanciation.
```vala ```vala
public class Example : Yaml.Object public class Yaml.Example : Yaml.Object
{ {
static construct static construct
{ {
@ -392,7 +392,24 @@ output from samples/yaml-tag.vala :
### Build Yaml.Node from Yaml.Object ### Build Yaml.Node from Yaml.Object
reverse build mechanism is also possible but have the same limitation. reverse build mechanism is also possible but have the same limitation.
you need to override the `public Yaml.Node? populate_to_node(GLib.Type type, string name)` Yaml.Object original method
```vala
var config = new Yaml.Config (path, true);
var root = config.root_node ();
root.display_childs ();
of.action ("Yaml.Builder.from_node", root.first ().name);
var obj = (Yaml.Example) Yaml.Builder.from_node (root.first ());
obj.type_object.method_a ();
of.action ("Yaml.Builder.to_node", obj.get_type ().name ());
var n = Yaml.Builder.to_node (obj);
if ((done = n !=null)) {
n.display_childs ();
}
```
you need to override the `public Yaml.Node? populate_to_node(GLib.Type type, string name)` Yaml.Object original method
`populate_to_node` is also automatically called by the Yaml.Builder if the type property is prealably registered. `populate_to_node` is also automatically called by the Yaml.Builder if the type property is prealably registered.
Example of implementation from `src/vala/Pluie/Yaml.Example.vala` : Example of implementation from `src/vala/Pluie/Yaml.Example.vala` :
@ -420,10 +437,6 @@ Example of implementation from `src/vala/Pluie/Yaml.Example.vala` :
} }
``` ```
for more details see :
* `samples/yaml-tonode.vala`
------------------- -------------------
### more samples ### more samples
@ -439,6 +452,8 @@ see samples files in ./samples directory
* ~~rewrite nodes classes~~ * ~~rewrite nodes classes~~
* ~~put doc online~~ * ~~put doc online~~
* ~~add docker image~~ * ~~add docker image~~
* ~~transform Yaml.Node nodes to Yaml.Object objects~~
* ~~transform Yaml.Object objects to Yaml.Node nodes~~
* manage tag directives & tag (partially done) * manage tag directives & tag (partially done)
* improve doc * improve doc
* dumper * dumper