robkinyon/ruby-dsl-maker

View on GitHub
Changes

Summary

Maintainability
Test Coverage
Revision history for DSL::Maker (ordered by revision number).

1.0.1 Nov 25 2018
   - Add support for Hash

1.0.0 Aug 24 2018
   - The license has changed from GPLv2 to MIT
      - This is a breaking change, hence the increment to 1.0.0
   - Update minimum dependencies to address vulnerabilities
   - Rename the following for consistency:
      - is_alias() to is_alias?()
      - is_array() to is_array?()
      - is_entrypoint() to is_entrypoint?()
   - ArrayOf types now take an Array as well as a list.

0.1.1 Aug 24 2015
   - add_helper() no longer pollutes DSL::Maker::Base
   - Add remove_helper() and has_helper?()
   - Rename is_dsl() to is_dsl?()

0.1.0 Aug 11 2015
   BREAKING CHANGE:
   - parse_dsl() and execute_dsl() now always return an array, even if there is
     only one value. This simplifies code to handle error cases.

0.0.9 Aug 11 2015
   - Added the ArrayOf[<type>] type to allow for arrays to concatenate properly.
   - Added the AliasOf(<name>) type to allow for use of multiple names to refer to
     the same thing.

0.0.8 Aug 07 2015
   - Make sure to provide a unique value for each type name.
      - Allow 'Object' to be used as an alias for 'Any'
   - Signficant refactorings (Thanks, "Alex Burkhart <saterus@gmail.com>"!!)
      - Test globals are properly segregated
      - Properly separated the control and DSL classes
   - Verifications can be used at every DSL class level
   - Moved build_dsl_element() into private. It can still be used within the
     control class under construction.

0.0.7 Aug 06 2015
   - Added the 'Any' type coercion.
   - Added a TL;DR section at the top of the README.

0.0.6 Aug 03 2015
   - Added add_verification(name) to allow for runtime verifications
   - Don't require a dummy block when passing a DSL class to add_entrypoint.
   - Refactored several items into private methods
   - Pulled the provided types and helpers out of the class definition

0.0.5 Jul 30 2015
   - Added missing YaRDOC for new features in 0.0.4
   - Added add_type() to allow the user to define new type coercions for use when
     creating their DSL.
   - Eat our own dogfood vis-a-vis helpers and type coercions.

0.0.4 Jul 29 2015
   - Added add_helper() to allow the user to define new helper methods for use
     within the DSL.
   - Added missing documentation in README for new features in 0.0.3
   - Added TODO list in documentation

0.0.3 Jul 28 2015
   - Added entrypoint() that returns the DSL implementing an entrypoint
   - Several refactorings to improve maintainability:
      - DSL::Maker::Boolean is now a mixin, not a base class
      - DSL::Maker::Base is now the base class for all the DSL classes

0.0.2 Jul 22 2015
   - Allow add_entrypoint() to take a DSL class instead of args
   - Added execute_dsl() that takes a block
   - Several refactorings to improve maintainability:
      - Recursive DSLs are now simpler to define and maintain

0.0.1 Jul 21 2015
   - Initial release