3296: good tests do add value.
[arvados.git] / apps / workbench / app / controllers / actions_controller.rb
index cae7f16fd956d3ffc29ff6aa69d7131ff76302d7..d1dc0fca354b7969d77317ec161a58d5f245ea62 100644 (file)
@@ -10,6 +10,19 @@ class ActionsController < ApplicationController
     ArvadosBase::resource_class_for_uuid(params[:uuid])
   end
 
+  def show
+    @object = model_class.andand.find(params[:uuid])
+    if @object.is_a? Link and
+        @object.link_class == 'name' and
+        ArvadosBase::resource_class_for_uuid(@object.head_uuid) == Collection
+      redirect_to collection_path(id: @object.uuid)
+    elsif @object
+      redirect_to @object
+    else
+      raise ActiveRecord::RecordNotFound
+    end
+  end
+
   def post
     params.keys.collect(&:to_sym).each do |param|
       if @@exposed_actions[param]
@@ -72,7 +85,6 @@ class ActionsController < ApplicationController
 
   def arv_normalize mt, *opts
     r = ""
-    puts "['arv-normalize', #{opts}]"
     IO.popen(['arv-normalize'] + opts, 'w+b') do |io|
       io.write mt
       io.close_write
@@ -145,8 +157,7 @@ class ActionsController < ApplicationController
     IO.popen([env, 'arv-put', '--raw'], 'w+b') do |io|
       io.write normalized_stripped
       io.close_write
-      while buf = io.read(2**20)
-
+      while buf = io.read(2**16)
       end
     end