Make `Definition#inspect` more readable by filtering out some instance variables like `@runtime_options`.
in XmlBinding#deserialize_from, separate extracting content (or node) from deserialize call.
minitest 4.5.1.
introduce HashDeserializer to be used in hash and xml.
re-use HashDeserializer, again!
don't call HashDeserializer/CollectionDeserializer in XML/JSON/Hash/YAML anymore, this goes into a generic Binding now.
no HashBinding#deserialize_from anymore.
less code for bindings.
bindings now know which GENERIC deserializer to use.
remove B#read_fragment_for.
remove stupid HashBinding tests in favour of proper full-stack tests. found out that ::hash and from_xml doesn't work (and never did!!!).
remove stupid HashBinding tests, they are already covered in full-stack tests.
introduce :skip_parse, an option which receives the parsed fragment and allows to skip deserialization if lambda is true. this is extremely helpful to ignore empty incoming nested attributes.
don't return value, where did that come from?
introduce Populator which embraces everything after reading the fragment (skip, deserialize, parse_filter and set). this is to have a generic interface for singular properties, collections, hashes, and so on.
introduce Binding::Collection and friends for generics in concrete bindings.
move the entire Binding#deserialize flow into Populator. this allows implementing a generic deserialization process for different types like scalars, collections, hashes.
Populator::Collection now respects :skip_parse, which is pretty awesome.
add comment .
Populator is now responsible for reading, then passes on to Deserializer, then does set.