summaryrefslogtreecommitdiff
path: root/lib/opentox.rb
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2013-07-02 19:23:01 +0200
committerChristoph Helma <helma@in-silico.ch>2013-07-02 19:23:01 +0200
commit6c35e3f8369ba96cb251eac487424bd949fdcf6c (patch)
treeefb13808cfd022793800460a729bf0b583284d21 /lib/opentox.rb
parent308ed58dc56815317f89654a0cc4ab7fb70a9f31 (diff)
Algorithms and Models are modules instead of classes.
Diffstat (limited to 'lib/opentox.rb')
-rw-r--r--lib/opentox.rb22
1 files changed, 14 insertions, 8 deletions
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