diff options
Diffstat (limited to 'lib/dataset.rb')
-rw-r--r-- | lib/dataset.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/dataset.rb b/lib/dataset.rb index a48b23f..7c74f39 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -7,10 +7,9 @@ get "/dataset/?" do return uri_list.join("\n") + "\n" when "application/json" datasets = JSON.parse datasets.to_json - datasets.each_index do |idx| - datasets[idx][:URI] = uri("/dataset/#{datasets[idx]["_id"]["$oid"]}") - end - return datasets.to_json + list = [] + datasets.each{|d| list << uri("/dataset/#{d["_id"]["$oid"]}")} + return list.to_json else bad_request_error "Mime type #{@accept} is not supported." end @@ -19,7 +18,7 @@ end # Get a dataset get "/dataset/:id/?" do dataset = Dataset.find :id => params[:id] - resource_not_found_error "Dataset with id: #{params[:id]} not found." unless dataset + not_found_error "Dataset with id: #{params[:id]} not found." unless dataset case @accept when "application/json" dataset.data_entries.each do |k, v| @@ -39,9 +38,9 @@ end # Get a dataset attribute. One of compounds, nanoparticles, substances, features get "/dataset/:id/:attribute/?" do dataset = Dataset.find :id => params[:id] - resource_not_found_error "Dataset with id: #{params[:id]} not found." unless dataset + not_found_error "Dataset with id: #{params[:id]} not found." unless dataset attribs = ["compounds", "nanoparticles", "substances", "features"] return "Attribute '#{params[:attribute]}' is not available. Choose one of #{attribs.join(', ')}." unless attribs.include? params[:attribute] - out = dataset.send(params[:attribute]) + out = dataset.send("#{params[:attribute]}") return out.to_json end |