~rgrjr/Spreadsheet-Table-Extract

* lib/Spreadsheet/Table/Extract.pm:  Fix make_disjoint doc typo.
Make explain_overlap smarter

* lib/Spreadsheet/Table/Extract.pm:
   + (explain_overlap):  Check whether tables are actually disjoint
     before trying to report on overlap.
* t/01-basic.t:
   + Add a test for same.
Make find_tables and extract return lists

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Return a list rather than an arrayref.
   + (extract):  Likewise.
* t/01-basic.t:
   + Update the tests.
Have find_tables default the table name

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables $make_table_descriptor):  Default the table name if
     given a base_name.
* t/01-basic.t:
   + Test same.
Make the find_tables minimum_slots param a keyword

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Make minimum_slots a keyword instead of a
     positional parameter, adjust doc accordingly.
* t/01-basic.t:
   + Update tests.
Support a better validate_object default

* lib/Spreadsheet/Table/Extract.pm:
   + (extract):  Support a reasonable default for validate_object, that
     just rejects blank rows.  Also, wrap eval around instance creation.
* t/01-basic.t:
   + Test same.
* lib/Spreadsheet/Table/Extract.pm:  Add a description.
Use the first column definition if there are duplicates

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Switch to ignoring second and subsequent column
     redefintions instead of taking the last one.
Instantiate tables of a specified class

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Support instantiating tables of a different class
     from the invocant.
* t/01-basic.t:
   + Test same.
Remove redundant find_tables code

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Remove a redundant "while ($row <= $maxrow) ..."
     loop, move the $row variable accordingly.
Clean up column name whitespace

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Clean up leading & trailing whitespace from
     potential column names before comparing, & update the doc to match.
Recognize side-by-side tables

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables $have_enough_p):  Helper sub.
   + (find_tables $make_table_descriptor):  Another helper.
   + (find_tables):  If we find a duplicate column and we have all
     required columns, then spin off a table with what we have, and
     start a new one.
* t/01-basic.t:
   + Add a test for side-by-side table definitions.
* t/data/side-by-side.gnumeric (added):
   + Test data for same.
Provide a default for the $min_slots arg to find_tables

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Default $min_slots to mean require everything.
* t/01-basic.t:
   + Test same.
Fix side-by-side table bug

* lib/Spreadsheet/Table/Extract.pm:
   + (find_tables):  Bug fix:  Don't adjust last_row on $last_table if
     we find another; the tables might be side-by-side, and that would
     be up to make_disjoint to figure out.
* lib/Spreadsheet/Table/Extract.pm:  Document
Update metadata per cpants_lint.pl

* dist.ini:
   + Add MetaJSON and Prereqs, per cpants_lint.pl recommendations.
   + Also, tweak the abstract.
Fix tests for a Spreadsheet::ReadGnumeric bug

* t/01-basic.t, t/data/basic-test-output.pm:
   + Update the multiple.gnumeric case for the Spreadsheet::ReadGnumeric
     maxcol & maxrow origin bug.
Make tables disjoint

* lib/Spreadsheet/Table/Extract.pm:
   + (explain_overlap):  Diagnostic tool (with perhaps TMI).
   + (overlaps):  Test for overlapping tables.
   + (make_disjoint):  Adjust last_row values to remove overlaps.
* t/01-basic.t:
   + Add a test case for same.
Allow naming of extracted tables

* lib/Spreadsheet/Table/Extract.pm:
   + Add a "name" slot.
* t/01-basic.t:
   + Add names to the multiple.gnumeric tests.
* t/data/basic-test-output.pm:
   + Changed test output.
Extract the overlapping multiple.gnumeric check table

* t/01-basic.t:
   + Add a test that extracts the multiple.gnumeric checkbook table,
     which gets four more rows than it should because it doesn't know
     that this runs into the other tables.
Next