view MsDbLogger.R @ 1:253d531a0193 draft

planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit 36c9d8099c20a1ae848f1337c16564335dd8fb2b
author prog
date Sat, 03 Sep 2016 17:02:01 -0400
parents e66bb061af06
children
line wrap: on
line source

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