summaryrefslogtreecommitdiff
path: root/lib/opentox-ruby-api-wrapper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/opentox-ruby-api-wrapper.rb')
-rw-r--r--lib/opentox-ruby-api-wrapper.rb31
1 files changed, 26 insertions, 5 deletions
diff --git a/lib/opentox-ruby-api-wrapper.rb b/lib/opentox-ruby-api-wrapper.rb
index 81a7292..001c9ac 100644
--- a/lib/opentox-ruby-api-wrapper.rb
+++ b/lib/opentox-ruby-api-wrapper.rb
@@ -1,4 +1,3 @@
-
#['rubygems', 'rest_client', 'spork', 'helper' ].each do |lib|
['rubygems', 'rest_client', 'spork' ].each do |lib|
require lib
@@ -8,7 +7,7 @@ ENV['OPENTOX_COMPOUND'] = 'http://webservices.in-silico.ch/compound/v0/' unless
ENV['OPENTOX_FEATURE'] = 'http://webservices.in-silico.ch/feature/v0/' unless ENV['OPENTOX_FEATURE']
ENV['OPENTOX_DATASET'] = 'http://webservices.in-silico.ch/dataset/v0/' unless ENV['OPENTOX_DATASET']
ENV['OPENTOX_FMINER'] = 'http://webservices.in-silico.ch/fminer/v0/' unless ENV['OPENTOX_FMINER']
-ENV['OPENTOX_LAZAR'] = 'http://webservices.in-silico.ch/lazar/v0/' unless ENV['OPENTOX_LAZAR']
+ENV['OPENTOX_LAZAR'] = 'http://webservices.in-silico.ch/lazar/v0/' unless ENV['OPENTOX_LAZAR']
module OpenTox
@@ -19,6 +18,20 @@ module OpenTox
def uri_escape(string)
URI.escape(string, /[^\w]/)
end
+
+ def finished?
+ YAML.load(RestClient.get(@uri))[:finished]
+ end
+
+ def finished
+ print "closing "
+ puts @uri + '/finished'
+ RestClient.post @uri + '/finished'
+ end
+
+ def destroy
+ RestClient.delete @uri
+ end
end
class Compound < OpenTox
@@ -87,11 +100,19 @@ module OpenTox
def initialize(params)
if params[:uri]
@uri = params[:uri].to_s
- elsif params[:name]
+ elsif params[:name] and params[:filename]
+ @uri = `curl -X POST -F file=@#{params[:filename]} -F name="#{params[:name]}" #{ENV['OPENTOX_DATASET']}`
+ elsif params[:name]
@uri = RestClient.post ENV['OPENTOX_DATASET'], :name => params[:name]
end
end
+ def finished
+ print "closing "
+ puts @uri + '/finished'
+ RestClient.post(@uri + '/finished',nil)
+ end
+
# Get the dataset name
def name
RestClient.get @uri + '/name'
@@ -143,8 +164,8 @@ module OpenTox
def initialize(params)
if params[:uri]
@uri = params[:uri]
- elsif params[:dataset_ur]
- @uri = RestClient.post ENV['OPENTOX_LAZAR'] + 'models/' , :dataset_uri => training_dataset.uri
+ elsif params[:dataset_uri]
+ @uri = RestClient.post ENV['OPENTOX_LAZAR'] + 'models' , :dataset_uri => params[:dataset_uri]
end
end