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