Revision History for Sub-Chain
==============================

0.010011
--------

25bb5e7 Trade 'simple' for 'easy'

74d269d Add TODO Section (but just link to Sub::Chain/TODO)

e2e5a33 Remove 'name_sub' alias

b63aaa7 Add 'tests' and 'documentation' to the TODO list

7338c58 Move Test::Warn suggested test prereq to correct dist.ini

7d17982 Reorganize subs for consistency

0530074 Format the call() input => output documentation in a list for clarity

6d3db6c Add example usage code to groups() documentation

02f4812 Spell out 'or' instead of using a slash

a065a0e Fix module name typo in Pod example

2d0f463 Fix grammatical Pod errors

v0.10 2011-01-04
----------------

0609e32 Move Sub::Chain::Group to a separate distribution

669b30f Add stopwords for pod spelling test

1e5e073 Define missing subs to make test pass again

a97f8f5 Rename $stack to $chain for clarity in test script

b7ea5cb Update transform.t to use new module API

4f3d253 Define new_sub_chain() for extracting 'chain_class' and 'chain_args' usage

f7d703a Explicitly return nothing from dequeue

67c0cc4 Remove grammatical typo from carp message

31d9864 Modify group.t to match module changes

958fe8b Change 'cluck' to 'carp'

5d095a1 Require the specified chain_class before attempting to instantiate it

488c57e Copy chain_class and chain_args from %opts to $self in constructor

c0437ba Make Sub::Chain::Group include itself in Sub::Chain::CARP_NOT

5e53dfe Substitute 'stack' for 'chain' in identifiers in test script

99f7087 Change DTN::Stackable test to Sub::Chain::Group test

493e018 Remove old DTN logic from old stackable test

bfbd005 Change lexical variable name to be more appropriate

c18fffc Remove unnecessary on_undef enum processing

679bba3 Instantiate with the 'chain_class' parameter

61df446 Accept the $sub parameter however they send it

5c39186 Change Pod verbage to sound more like the new module

cc85f78 Update git ignore file to reflect new dist name

dfb9120 Begin converting DTN::Stackable to Sub::Chain::Group

0c450dc Remove unnecessary 'push' alias

62efdca Remove on_undef enum which now exists in Sub::Chain

1860558 Remove remains of DTN now moved to more appropriate modules

d998783 Add Sub::Chain::Named subclass to support appending subs by name

a8fa584 Warn on call() if no subs were added to the chain

23cc0db Rename chain.t to examples.t to be clear that it tests the examples

f8e2f01 Replace small amounts of functionality with new Sub::Chain module

d609583 Add Rationale and See Also Pod

91e355b Add Description Pod and update README and dist.ini to reflect new main module

49b5d4c Add Options section to Pod to describe the enums

9c13323 Add 'result' enum for replacing or discarding the result of each sub

5099557 Copy enum value from $from or $self or $enum (whichever is found first)

835bfda Start testing new Sub::Chain by testing the examples from the POD

v0.9 2011-01-03
---------------

e5222b0 Add initial Sub::Chain module for simple chaining of subs

825c7e4 Reflect return value change of Set::DynamicGroups::items from arrayref to list

09b4765 Reflect Set::DynamicGroups API change from 'append' to 'add'

689cf70 Add stopwords for TODO and Finalizers

6b0f146 Remove module and tests for 'Common' functions that does not belong here

708028e Remove TODO item about transformer options (like on_undef)

6228d0f Test sending undef to the Common functions

98c1d67 Add some tests for 'undef'

d1b06ed Alter tests to match new options hash and array stack interface

c324b9e Drop Test::Exception and test life/death manually due to weird external bug

e6621a4 Alter test to use new %Enums hash instead of the single scalar

1b93396 Alter the test to expect a code ref rather than a Data::Transform::Map instance

f9624f2 Convert hashes of tests to arrays to allow 'undef' as an input value

v0.8 2010-12-27
---------------

597955c Trade Data::Transform[::Stackable] for a simple array of subs/args and then call them sequentially

33545ac Simplify the options to push() by expecting a hash[ref] and sending it through _normalize_spec()

a02d692 Add on_undef Enum and put both enums in our %Enums

4c2af6c Make 'transform' return a sub rather than Data::Transform::Map and rename to 'transformer' to clarify

33d8e9e Add 'consider transformer options' to the TODO list

7f39e52 Define Stackable::named() so that you can add named transformations after instantiation

84332c5 Add TODO list to the bottom of the POD regarding the possibility of dropping Data::Transform

9e661d7 Add comment about 'finalizer' idea (transformation always at the end of the stack)

99f370d Provide groups() method to return the Set::DynamicGroups object

0504e17 Add fields() method for specifying all fields

v0.7 2010-12-23
---------------

eb21ea8 Use Set::DynamicGroups to manage groups and fields instead of handling it internally

99e1f49 Don't die if a transformation is specified for a group that never gets any fields

be3c6d4 Make Common::exchange return the value if no fallback was supplied

3830df1 Test warning and death (if suggested modules are available) for the warn_no_field option

v0.6 2010-12-18
---------------

c4c5d5a Add option for when to warn when a requested field/stack is missing

71d9ad3 Define a helper method on the object instead of generating a dynamic sub for each call to transform()

191acb2 Clarify POD for transform()

c2e3695 Document reprocess_queue() to pass Pod::Coverage test

cbb4b06 Remove made-up word to pass spelling test

522484a Allow Common->_all() to take a list of names (if you don't want /all/)

ceecac6 Fix incorrect Carp imports

b4137a4 Wrap the CORE [lu]c(first)? methods for convenience

514bcc4 Improve usefulness of 'match' function by returning $1 if a group was captured

0e79da0 White box test the queue, the stacks built from it, and the reprocessing of it

v0.5 2010-12-15
---------------

50acd1b Save processed specifications in a separate array in case we need to reprocess the whole queue later

bbcb6e2 Croak if there's no stack by the requested name

6e63235 Test methods of Stackable

v0.4 2010-12-15
---------------

d7387fc Store field/group specifications in a queue and dequeue them when necessary

115c72a Test the methods in Named

38d1c16 Test Named->add_common when testing Common->_all

5df2d21 Expect a hash[ref] in Stackable->new()

be78851 Load Data::Transform::Map before trying to use it

66c1a53 Fix typos and add stopwords to pass pod spelling tests

b47a544 Test the functions in the Common module

v0.3 2010-12-14
---------------

790e235 Simplify (and correct) _all() to return a hash of (name => coderef)

d49cc4e Fix hash key typo in exchange()

v0.2 2010-12-14
---------------

88c3f7b Add transform() method that attempts to DWIM with the corresponding stack of transformations

4f44cbf Add 'stack' method for returning the named Data::Transform::Stackable

3b35e02 Fix variable typo and replace lost derefencing line

1f05b36 Add simple README for github

e12d6a9 Define 'transform' method to produce the Data::Transform::Map object (for pushing onto a Stackable)

84b0188 Define 'group' method to append field names to the specified group

5315354 Define 'stackable' shortcut for passing $self to Stackable->new()

e1d7dd6 Make code simpler/clearer for determining 'type' passed to push()

b9e8d47 Define '_require' convenience method for calling methods on child modules

1255bed Document methods with '=method' POD sections

2686d27 Fill in Synopsis POD section

7575621 Move 'get all functions from the Common module' logic to the Common module

0ede4c2 Remove POD link to String::Gsub since we're not using it

85b19f3 Drop the 'date' function

===================================
End of changes in the last 365 days
===================================
