Do not follow this link

~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
Do not follow this link