Module: MyExperimentREST
- Defined in:
- lib/myexperiment-rest/authentication.rb,
lib/myexperiment-rest.rb,
lib/myexperiment-rest/user.rb,
lib/myexperiment-rest/workflow.rb,
lib/myexperiment-rest/constants.rb
Overview
require ‘rest_client’
Defined Under Namespace
Modules: Urls Classes: MyExperimentIOData, MyExperimentUser, MyExperimentWorkflow, SessionCookie, User, Workflow
Class Method Summary collapse
-
.get_myexperiment_data(resource_url, params) ⇒ Object
Get information from myExperiment using the REST API.
Class Method Details
.get_myexperiment_data(resource_url, params) ⇒ Object
Get information from myExperiment using the REST API. Resources supported currently are WORKFLOW_URL
“+ and USER_URL
.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/myexperiment-rest.rb', line 15 def self.get_myexperiment_data(resource_url, params) case resource_url when Urls::WORKFLOW_URL rest_params = { :params => {'id' => "#{params[:id]}", 'elements' => 'title,description,content-uri,components,uploader'} } # if version is not empty use that one -- otherwise it returns the current version if params[:version] && !params[:version].empty? rest_params[:params]['version'] = "#{params[:version]}" end # if session cookie is not empty it uses simple cookie auth (not secure -- used for demos) if params[:session_cookie] rest_params[:cookies] = params[:session_cookie] end # Get workflow resource information begin response = RestClient.get("#{Urls::MYEXPERIMENT_URL}/#{Urls::WORKFLOW_URL}", rest_params) rescue Exception => e raise "REST call to acquire workflow resource failed!\n" + e end when Urls::USER_URL begin # Get user resource information response = RestClient.get("#{Urls::MYEXPERIMENT_URL}/#{Urls::USER_URL}", {:params => {'id' => "#{params[:id]}" } } ) response rescue Exception => e raise "REST call to acquire user resource failed!\n" + e end else raise "This is not a supported resource type!\n" end end |