I just updated the com.sebtools to Build 11. I am really happy with the progress made here, but I think my version names stink. I can't figure out what to call versions of a package of loosely-related CFCs that have different versions themselves.
The last time I posted about a new build of com.sebtools, it was about Build 8 and A LOT has changed since then. For a full list, see the change log. Here are some highlights, however, of just a few things that I think are really neat.
Good File Names
Any files uploaded to Records.cfc/Manager.cfc components will be valid file names, unique, and will fit in the database column. Manager.cfc will ensure all of this to be true.
This is a small very focused component. It just takes a string and pluralizes it. That sounds simple, I know, but I couldn't find an adequate solution to the problem when I needed it, so here it is. It handles all (or certainly the vast majority) of the pluralizing rules for the English language.
If you are using Records.cfc (or Manager.cfc), you can now copy a record using the new "copyRecord" method. This takes the same arguments as "saveRecord", but creates a new record each time. By itself, this isn't impressive.
What makes this nice is that it also makes copies of any files that aren't being changed in the method call and appropriately saves their values.
How Many Records
Records.cfc now also has a new "numRecords" ("numContacts", for example) method that will take the same arguments as "getRecords" (an argument for every field with matching values) but will just return the number of records instead of an entire recordset. The query operation performed internally is optimized for this use.
It also has a new "hasRecords" ("numContacts", for example) method that works just like the above exept it just returns a boolean indicating if any records would be returned.
That's not all
Seriously, the list of changes is really long. Take a look at the change log. If you have never taken a look at com.sebtools, I would encourage you to do so. It is broadly useful and it has been years since I have done a project (big or small) without it.
The com.sebtools package is open source and free for any use.