diff options
author | rautenberg <rautenberg@in-silico.ch> | 2016-09-02 12:00:19 +0200 |
---|---|---|
committer | rautenberg <rautenberg@in-silico.ch> | 2016-09-02 12:00:19 +0200 |
commit | 8220c743b1ed446e9fd857c783375bbc094b60a5 (patch) | |
tree | 0f0dafef99b47fb0925d5b4871c5892014bdf950 /lib | |
parent | 2f399ac5af0a855220fa20d7fbbc1cc97d0bf529 (diff) |
add nanoparticle route
Diffstat (limited to 'lib')
-rw-r--r-- | lib/lazar-rest.rb | 1 | ||||
-rw-r--r-- | lib/nanoparticle.rb | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lib/lazar-rest.rb b/lib/lazar-rest.rb index c0ea639..1e173fc 100644 --- a/lib/lazar-rest.rb +++ b/lib/lazar-rest.rb @@ -28,6 +28,7 @@ end "dataset.rb", "feature.rb", "model.rb", + "nanoparticle.rb", "substance.rb", "validation.rb" ].each{ |f| require_relative f } diff --git a/lib/nanoparticle.rb b/lib/nanoparticle.rb new file mode 100644 index 0000000..f32d834 --- /dev/null +++ b/lib/nanoparticle.rb @@ -0,0 +1,25 @@ +# Get all Nanoparticles +get "/nanoparticle/?" do + nanoparticles = Nanoparticle.all + case @accept + when "text/uri-list" + uri_list = nanoparticles.collect{|nanoparticle| uri("/nanoparticle/#{nanoparticle.id}")} + return uri_list.join("\n") + "\n" + when "application/json" + nanoparticles = JSON.parse nanoparticles.to_json + nanoparticles.each_index do |idx| + nanoparticles[idx][:URI] = uri("/nanoparticle/#{nanoparticles[idx]["_id"]["$oid"]}") + end + return nanoparticles.to_json + else + bad_request_error "Mime type #{@accept} is not supported." + end +end + +# Get a nanoparticle +get "/nanoparticle/:id/?" do + nanoparticle = Nanoparticle.find :id => params[:id] + resource_not_found_error "Nanoparticle with id: #{params[:id]} not found." unless nanoparticle + nanoparticle[:URI] = uri("/nanoparticle/#{nanoparticle.id}") + return nanoparticle.to_json +end
\ No newline at end of file |