Mercurial > repos > prog > lcmsmatching
diff MsDbChecker.R @ 0:e66bb061af06 draft
planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit 3529b25417f8e1a5836474c9adec4b696d35099d-dirty
author | prog |
---|---|
date | Tue, 12 Jul 2016 12:02:37 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MsDbChecker.R Tue Jul 12 12:02:37 2016 -0400 @@ -0,0 +1,44 @@ +if ( ! exists('MsDbChecker')) { # Do not load again if already loaded + + source('MsDbObserver.R') + + ##################### + # CLASS DECLARATION # + ##################### + + MsDbChecker <- setRefClass("MsDbChecker", contains = 'MsDbObserver', fields = list(.fail = 'logical')) + + ############### + # CONSTRUCTOR # + ############### + + # fail If set to TRUE, will fail (i.e.: quit application with a status set to 1) on error. + MsDbChecker$methods( initialize = function(fail = FALSE, ...) { + + .fail <<- if ( ! is.null(fail) && ! is.na(fail)) fail else FALSE + + callSuper(...) # calls super-class initializer with remaining parameters + }) + + ########### + # WARNING # + ########### + + MsDbChecker$methods( warning = function(msg) { + write(paste('WARNING: ', msg), stderr()) + }) + + ######### + # ERROR # + ######### + + MsDbChecker$methods( error = function(msg) { + + write(paste('ERROR:', msg), stderr()) + + # Fail + if (.self$.fail) + quit(status = 1) + }) + +} # end of load safe guard