This explicity sets the caching behavior for all goodies. Goodies which
did not have caching behavior set in their package have had it added.
Similarly for the tests.
This resulted in a number of changes for caching behavior, mostly
moving towards more frequent caching.
I identified three cases where goodies should not be cached. They are when
the result depends upon:
- some random element,
- the time of day or year (as with relative dates), or
- the location of the requesting user
In all other cases, I presumed that the goodies were sufficiently
deterministic in their output to warrant caching.
Will now respond to queries like "5 word passphrase", "pass phrase 3
random words" and even "create random passphrase"
Tests updated to be more robust, cover the example queries and show
some new possibilities.
Also adds an abstract to reduce the scroll-spam on `dzil test`
Big thanks to @moollaza for both the suggestion and guidance.
Intended to fix issue #313 and also fix#314.
- Add ability to use queries like "pass phrase 3 words"
- Add comments describing how it works.
- Add (arbitrarily chosen) limit of 10 words maximum.
- Constrain the query format more tightly
- Add more tests
This turned into more of a rewrite than I intended.
In the previous version, it was more forgiving about what trailed the
number of words requested... but it was assuredly requiring something.
I've decided to be explicit on wanting 'word(s)' at the end.
Previously it required a minimum of 1 word requested, but didn't have a
maximum. I chose to make the max 10, as it keeps the output fairly
tidy and seems like a reasonable maximum someone might actually use
in practice.