From d3f5989a6f30b2f07651e24da986abd8ab67daba Mon Sep 17 00:00:00 2001
From: Mauricio Giacomini Girardello <mgg12@inf.ufpr.br>
Date: Thu, 18 Feb 2016 11:20:48 -0200
Subject: [PATCH] move some view logic to a helper method

---
 .../learning_objects_controller.rb            |  1 -
 app/helpers/learning_objects_helper.rb        | 48 +++++++++++++------
 app/views/learning_objects/show.html.erb      |  9 +---
 3 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/app/controllers/learning_objects_controller.rb b/app/controllers/learning_objects_controller.rb
index d321cb71..5728764a 100644
--- a/app/controllers/learning_objects_controller.rb
+++ b/app/controllers/learning_objects_controller.rb
@@ -7,7 +7,6 @@ class LearningObjectsController < ApplicationController
   before_action :set_learning_object, only: [:show, :edit, :update,
                                              :destroy, :like, :bookmarks,
                                              :collections, :upload, :upload_link, :download]
-  before_action :set_learning_object_type, only: :show
   after_action :increment_learning_object_views, only: [:show]
 
   # GET /learning_objects/1
diff --git a/app/helpers/learning_objects_helper.rb b/app/helpers/learning_objects_helper.rb
index 3f052804..391b3e75 100644
--- a/app/helpers/learning_objects_helper.rb
+++ b/app/helpers/learning_objects_helper.rb
@@ -1,5 +1,18 @@
 module LearningObjectsHelper
 
+  def display_object_type(learning_object)
+    case learning_object.object_type
+      when 'Áudio' then
+        audio_tag(learning_object.retrieve_link, controls: true)
+      when 'Vídeo' then
+        video_tag(learning_object.retrieve_link, autobuffer: true, poster: learning_object.thumbnail)
+      when 'PDF' then
+        "<iframe src=\"/pdfjs/web/viewer.html?file=#{learning_object.retrieve_link }\" style=\"border: 0 \" width=\"125%\" height=\"280\" frameborder=\"0\" scrolling=\"no\"></iframe>".html_safe
+      else
+        learning_object_thumbnail learning_object, "large"
+    end
+  end
+
   def show_categories(categories = [])
     categories.to_s
   end
@@ -7,20 +20,27 @@ module LearningObjectsHelper
   def learning_object_thumbnail(learning_object, size = "")
     if learning_object.thumbnail.blank?
       thumbnail = case learning_object.object_type
-      when "Vídeo" then 'video.png'
-      when "Imagem" then 'image.png'
-      when "Hipertexto" then 'text.png'
-      when "Animação/simulação" then 'animation.png'
-      when "Software Educacional" then 'software.png'
-      when "Áudio" then 'audio.png'
-      when "Experimento prático" then 'simulator.png'
-      else
-        if size == "large"
-          'learning-object-preview-large.png'
-        else
-          'learning-object-preview.png'
-        end
-      end
+                    when "Vídeo" then
+                      'video.png'
+                    when "Imagem" then
+                      'image.png'
+                    when "Hipertexto" then
+                      'text.png'
+                    when "Animação/simulação" then
+                      'animation.png'
+                    when "Software Educacional" then
+                      'software.png'
+                    when "Áudio" then
+                      'audio.png'
+                    when "Experimento prático" then
+                      'simulator.png'
+                    else
+                      if size == "large"
+                        'learning-object-preview-large.png'
+                      else
+                        'learning-object-preview.png'
+                      end
+                  end
     else
       thumbnail = learning_object.thumbnail
     end
diff --git a/app/views/learning_objects/show.html.erb b/app/views/learning_objects/show.html.erb
index 9e37ad6e..1dee2614 100644
--- a/app/views/learning_objects/show.html.erb
+++ b/app/views/learning_objects/show.html.erb
@@ -2,14 +2,7 @@
 <div class="row learning-object">
   <div class="col-md-7">
     <div class="view">
-      <%=
-        case @type
-        when 'Áudio' then audio_tag(@learning_object.retrieve_link, controls: true)
-        when 'Vídeo' then video_tag(@learning_object.retrieve_link, autobuffer: true, poster: @learning_object.thumbnail)
-        when 'PDF' then "<iframe src=\"/pdfjs/web/viewer.html?file=#{@learning_object.retrieve_link }\" style=\"border: 0 \" width=\"125%\" height=\"280\" frameborder=\"0\" scrolling=\"no\"></iframe>".html_safe
-        else learning_object_thumbnail @learning_object, "large"
-        end
-      %>
+      <%= display_object_type @learning_object %>
     </div>
     <div class="pull-right" style="padding-right:122px">
       <span class="glyphicon glyphicon-eye-open"><%= @learning_object.views.size %>&nbsp;</span>
-- 
GitLab