FAQ

Is it possible to deserialize an eno file directly into a Ruby object?

Given that Eno itself has no knowledge of types there is no way to automatically serialize values to anything other than string type. Given that eno documents and elements can flexibly represent both associative and sequential data structures, there is also no canonical serialization structure that offers an optimal data layout for both usecases.

So indeed one has to manually deserialize the document! The reward for this however is 100% reliable input data, all the types one can imagine and a lot less syntax and overhead when writing content. Considering that the code for reading and validating a document only needs to be written once, while the actual authoring and editing of documents can happen up to many million times depending on the userbase of an application, spending a few minutes on the validation code is probably the better tradeoff to make?

Lastly, the enolib API does in fact also offer a way to deserialize a document to a native Ruby object, which however is only meant for debugging purposes. It is described in the previous chapter: AST Inspection.