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.