summaryrefslogtreecommitdiff
path: root/lib/dataset.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dataset.rb')
-rw-r--r--lib/dataset.rb20
1 files changed, 13 insertions, 7 deletions
diff --git a/lib/dataset.rb b/lib/dataset.rb
index ff16640..1468c8d 100644
--- a/lib/dataset.rb
+++ b/lib/dataset.rb
@@ -20,14 +20,20 @@ end
get "/dataset/:id/?" do
dataset = Dataset.find :id => params[:id]
resource_not_found_error "Dataset with id: #{params[:id]} not found." unless dataset
- dataset.data_entries.each do |k, v|
- dataset.data_entries[k][:URI] = uri("/substance/#{k}")
+ case @accept
+ when "application/json"
+ dataset.data_entries.each do |k, v|
+ dataset.data_entries[k][:URI] = uri("/substance/#{k}")
+ end
+ dataset[:URI] = uri("/dataset/#{dataset.id}")
+ dataset[:substances] = uri("/dataset/#{dataset.id}/substances")
+ dataset[:features] = uri("/dataset/#{dataset.id}/features")
+ return dataset.to_json
+ when "text/csv"
+ return dataset.to_csv
+ else
+ bad_request_error "Mime type #{@accept} is not supported."
end
-
- dataset[:URI] = uri("/dataset/#{dataset.id}")
- dataset[:substances] = uri("/dataset/#{dataset.id}/substances")
- dataset[:features] = uri("/dataset/#{dataset.id}/features")
- return dataset.to_json
end
# Get a dataset attribute. One of compounds, nanoparticles, substances, features