From 6c35e3f8369ba96cb251eac487424bd949fdcf6c Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Tue, 2 Jul 2013 19:23:01 +0200 Subject: Algorithms and Models are modules instead of classes. --- lib/opentox.rb | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'lib/opentox.rb') diff --git a/lib/opentox.rb b/lib/opentox.rb index 52f705c..044da4b 100644 --- a/lib/opentox.rb +++ b/lib/opentox.rb @@ -190,6 +190,20 @@ module OpenTox end end + # define class methods within module + def self.included(base) + base.extend(ClassMethods) + end + + module ClassMethods + def service_uri + service = self.to_s.split('::')[1].downcase + eval("$#{service}[:uri]") + rescue + bad_request_error "$#{service}[:uri] variable not set. Please set $#{service}[:uri] or use an explicit uri as first constructor argument " + end + end + # create default OpenTox classes with class methods # (defined in opentox-client.rb) CLASSES.each do |klass| @@ -237,14 +251,6 @@ module OpenTox self.new uris.first, subjectid end end - - def self.service_uri - service = self.to_s.split('::').last.downcase - eval("$#{service}[:uri]") - rescue - bad_request_error "$#{service}[:uri] variable not set. Please set $#{service}[:uri] or use an explicit uri as first constructor argument " - end - end OpenTox.const_set klass,c end -- cgit v1.2.3