summaryrefslogtreecommitdiff
path: root/application.rb
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2011-10-17 10:04:44 +0200
committermr <mr@mrautenberg.de>2011-10-17 10:04:44 +0200
commit5147b37a3285a231d8c938c3baf2f216a3b7f197 (patch)
treea1b15847651c4968cdd3ae7b1bfbc81f25c825b7 /application.rb
parentab78958d59f7d7d2526ea7a9e997f9afd2a61cc0 (diff)
model sorting for endpoints| pager for models
Diffstat (limited to 'application.rb')
-rw-r--r--application.rb21
1 files changed, 18 insertions, 3 deletions
diff --git a/application.rb b/application.rb
index c41f072..019592c 100644
--- a/application.rb
+++ b/application.rb
@@ -96,8 +96,22 @@ get '/models/?' do
sort_by = params["sort_by"]
if sort_by
case sort_by
- when "name", "created_at", "type"
- @models = ToxCreateModel.all.sort_by(sort_by.to_sym, :order => "#{order} ALPHA")
+ when "created_at"
+ @models = ToxCreateModel.all.sort(:order => "#{order}")
+ when "name"
+ @models = ToxCreateModel.all.sort
+ if order == "ASC"
+ @models = @models.sort_by{|x| x.name.downcase}
+ else
+ @models = @models.sort{|x, y| y.name.downcase <=> x.name.downcase}
+ end
+ when "type", "endpoint"
+ @models = ToxCreateModel.all.sort
+ if order == "ASC"
+ @models = @models.sort_by{|x| [x.send(sort_by.to_sym),x.name.downcase]}
+ else
+ @models = @models.sort{|x,y|[y.send(sort_by.to_sym),x.name.downcase] <=> [x.send(sort_by.to_sym), y.name.downcase]}
+ end
when "id"
@models = ToxCreateModel.all.sort(:order => "#{order}")
end
@@ -186,8 +200,9 @@ get '/model/:id/:view/?' do
end
get '/predict/?' do
- @models = ToxCreateModel.all.sort(:order => "DESC")
+ @models = ToxCreateModel.all.sort
@models = @models.collect{|m| m if m.status == 'Completed'}.compact
+ @models = @models.sort_by{|x| [x.endpoint,x.name.downcase] }
haml :predict
end