futile.logger::flog.layout()to avoid downstream complaints.
This version address a few issues encountered while using 0.3.11 in production.
timeStamp()function creates character timestamps useful for labeling.
dateSequence()function generates a sequence of
POSIXctvalues that align with midnight local time even through the switch to/from daylight savings.
loadDataFile()function supports loading data from local directories or URLs.
parseDatetime()when parsing julian dates.
call. = TRUEso that the stack information bubbles up.
futile.logger::flog.logger()to avoid downstream complaints.
parseDatetime()now supports YYYY and YYYYmm formats.
parseDatetime()to support Julian day formats.
Added a suite of functions to easily run
devtools::check() with different arguments:
More consistency improvements to
dateRange(). When specified, the
days parameter now takes precedence over
ceilingEnd when no
enddate is specified.
Fully self-consistent package using internal functions wherever possible.
Various improvements after usage in an operational setting:
timezoneLintRulesincludes more date related functions.
timeRange()function now accepts
dateRange()function now accepts
ceilingEnd argument addresses the ambiguity of a phrase like: “August 1-8”. With
ceilingEnd = FALSE (default) this pharse means “through the beginning of Aug 8”. With
ceilingEnd = TRUE it means “through the end of Aug 8”.
This version adds new convenience functions for dealing with
NULL values in pipeline flow control.
In a lot of the data pipelines we build (web services, packages, etc.), we need to deal with the possibility of
NULL inputs. Setting a default value or throwing an error are two of the most common ways
NUll values are dealt with. While the code to handle this is straightforward to write, it is verbose and repetitive.
stopIfNull() are designed to abstract away boilerplate code, allowing us to focus on more important things.
fullPathargument to linting functions.
This version focuses on enhancing the time utility capabilities of MazamaCoreUtils.
In order to ensure that we are working with timezones consistently, the functions
lintFunctionArgs_directory() were created to parse R source files and determine if certain functions contained specific named arguments, based on a set of rules. A set of rules,
timezoneLintRules, was created to check that all functions that accept a timezone have that argument explicitly fill, avoiding inconsistent default behavior.
PWFSLSmoke::parseDatetime() was moved into MazamaCoreUtils so more packages can benefit from it without importing the rest of PWFSLSmoke. Also,
timeRange() was created to work as a function analogous to
dateRange(), parsing time ranges instead of finding date ranges.
As part of this consolidation, more unit tests were added to the package.
futile.logger not founderror messages.
cacheManagement()to help with removal of out-of-data products.