Mercurial > repos > prog > lcmsmatching
diff MsDbLogger.R @ 0:3afe41d3e9e7 draft
planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit bb4d3e23d99828bfee16d31d794c49a17313ec2f
| author | prog |
|---|---|
| date | Mon, 11 Jul 2016 09:12:03 -0400 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MsDbLogger.R Mon Jul 11 09:12:03 2016 -0400 @@ -0,0 +1,32 @@ +if ( ! exists('MsDbLogger')) { # Do not load again if already loaded + + source('MsDbObserver.R') + + ##################### + # CLASS DECLARATION # + ##################### + + MsDbLogger <- setRefClass("MsDbLogger", contains = 'MsDbObserver', fields = list(.verbose = 'numeric', .file = 'ANY' )) + + ############### + # CONSTRUCTOR # + ############### + + MsDbLogger$methods( initialize = function(verbose = 1, file = NULL, ...) { + + .verbose <<- if ( ! is.null(verbose) && ! is.na(verbose)) verbose else 1 + .file <<- if ( ! is.null(file) && ! is.na(file)) file else stderr() + + callSuper(...) # calls super-class initializer with remaining parameters + }) + + ############ + # PROGRESS # + ############ + + MsDbLogger$methods( progress = function(msg, level = 1) { + if (.self$.verbose >= level) + cat(msg, "\n", sep = '', file = .self$.file) + }) + +} # end of load safe guard
