summaryrefslogtreecommitdiff
path: root/lib/lazar.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2015-10-08 14:10:00 +0200
committerChristoph Helma <helma@in-silico.ch>2015-10-08 14:10:00 +0200
commit596ef28dea32baa37b47fa5b82bdc4649ca69382 (patch)
tree4a21f548adeab168276d237871cc19b4dede6836 /lib/lazar.rb
parent1a56148aadef031c4f487bc23fda43f4ac5b7369 (diff)
new environment variable LAZAR_ENV for databases and log levels
Diffstat (limited to 'lib/lazar.rb')
-rw-r--r--lib/lazar.rb41
1 files changed, 27 insertions, 14 deletions
diff --git a/lib/lazar.rb b/lib/lazar.rb
index f801062..cc66841 100644
--- a/lib/lazar.rb
+++ b/lib/lazar.rb
@@ -9,29 +9,43 @@ require 'rserve'
require "nokogiri"
require "base64"
-# Mongo setup
-# TODO retrieve correct environment from Rack/Sinatra
-ENV["MONGOID_ENV"] ||= "development"
-# TODO remove config files, change default via ENV or directly in Mongoid class
-Mongoid.load!("#{File.expand_path(File.join(File.dirname(__FILE__),'..','mongoid.yml'))}")
+# Environment setup
+ENV["LAZAR_ENV"] ||= "production"
+raise "Incorrect lazar environment variable LAZAR_ENV '#{ENV["LAZAR_ENV"]}', please set it to 'production' or 'development'." unless ENV["LAZAR_ENV"].match(/production|development/)
+
+ENV["MONGOID_ENV"] = ENV["LAZAR_ENV"]
+ENV["RACK_ENV"] = ENV["LAZAR_ENV"] # should set sinatra environment
+Mongoid.load_configuration({
+ :clients => {
+ :default => {
+ :database => ENV["LAZAR_ENV"],
+ :hosts => ["localhost:27017"],
+ }
+ }
+})
Mongoid.raise_not_found_error = false # return nil if no document is found
-$mongo = Mongo::Client.new('mongodb://127.0.0.1:27017/opentox')
#$mongo = Mongoid.default_client
+$mongo = Mongo::Client.new("mongodb://127.0.0.1:27017/#{ENV['LAZAR_ENV']}")
$gridfs = $mongo.database.fs
+# Logger setup
+STDOUT.sync = true # for redirection, etc see http://stackoverflow.com/questions/8549443/why-doesnt-logger-output-to-stdout-get-redirected-to-files
+$logger = Logger.new STDOUT # STDERR did not work on my development machine (CH)
+case ENV["LAZAR_ENV"]
+when "production"
+ $logger.level = Logger::WARN
+ Mongo::Logger.level = Logger::WARN
+when "development"
+ $logger.level = Logger::DEBUG
+ Mongo::Logger.level = Logger::WARN
+end
+
# R setup
R = Rserve::Connection.new
R.eval "library(ggplot2)"
R.eval "library(grid)"
R.eval "library(gridExtra)"
-# Logger setup
-STDOUT.sync = true # for redirection, etc see http://stackoverflow.com/questions/8549443/why-doesnt-logger-output-to-stdout-get-redirected-to-files
-$logger = Logger.new STDOUT # STDERR did not work on my development machine (CH)
-$logger.level = Logger::DEBUG
-Mongo::Logger.level = Logger::WARN
-#Mongo::Logger.logger = $logger
-
# Require sub-Repositories
require_relative '../libfminer/libbbrc/bbrc' # include before openbabel
require_relative '../libfminer/liblast/last' #
@@ -62,7 +76,6 @@ CLASSES = ["Feature","Compound","Dataset","Validation","CrossValidation","Repeat
"bbrc.rb",
"model.rb",
"similarity.rb",
- #"neighbor.rb",
"classification.rb",
"regression.rb",
"validation.rb",