0.1.0 / 2013-02-01
-
Initial release:
Supports hash-based initialization of objects, given that the class include HashMakeable and calls hash_make on the given args hash.
0.1.1 / 2013-02-03
Changed HashedArg to ArgSpec. Added documentation.
0.1.2 / 2013-02-04
Added documentation comment for Hashmake::HashMakeable module. Removed README.md so YARD could run without the redcarpet gem.
0.1.3 / 2013-02-06
For the ArgSpec class, change :array key to :container, which can be set to any value included in ArgSpec::CONTAINERS. In hash_make, add support for Hash containers which contain objects of type :type. Suppor for Array container is still in place.
0.1.4 / 2013-02-06
Add tests to verify array and hash container support.
0.1.5 / 2013-03-04
Hash arg specs to key name. Instead of enumerating containers (e.g CONTAINER_HASH) just use class (Hash). Validate args in validate_arg (which could be called independently from hash_make).
0.1.6 / 2013-03-21
Add Hashmake::hash_makeable? for testing if a class includes Hashmake::HashMakeable. Add #find_arg_specs and #make_hash methods to HashMakeable.
0.1.7 / 2013-06-21
In HashMakeable.make_hash, only make objects into hashes if the object class matches the arg spec type (and, still, if it is hash makeable).
0.1.9 / 2013-06-21
Add :allow_nil option to ArgSpec.new. If an arg spec allows nil, it mean that if a hashed arg is nil, no ArgumentError will be raised and the validator won’t be called.
0.2.0 / 2013-06-21
A bit of a major release. mostly to cut back features and modify interfaces a bit.
-hash_make does not recursively build objects from hashes, even if the expected object type is hash-makeable
-removed allow_nil from arg_spec
-add separate classes for container arg specs (array and hash)
-remove make_hash
-switch order of arguments for hash_make. Hashed args come first now, and arg spec Hash comes next.
0.2.1 / 2013-08-07
Arg specs can support single or multiple types. Removed unused hash_make_if_needed and make_hash_if_possible.