CSC/ECE 517 Fall 2016/E1673. Refactor question type.rb

From Expertiza_Wiki
Revision as of 20:23, 28 October 2016 by Ddu3 (talk | contribs)
Jump to navigation Jump to search

E1673. Refactor question type.rb

Reason for Refractor

Some codes are so duplicated and unreadability. It's difficult to make extensions and develop.

Code Changes

text_field.rb
Although it increase the number of classes, the length of function decrease and it's easy to read than before

def view_completed_question(count, answer)

   if self.type == 'TextField' and self.break_before == true
     html = '' + count.to_s + ". " + self.txt + ""
     html += '    '
     html += answer.comments
     html += '

' if Question.exists?(answer.question_id + 1) && Question.find(answer.question_id + 1).break_before == true else html = view_helper(answer) end safe_join([" ".html_safe, " ".html_safe], html.html_safe) end

def view_helper(answer)

   html = self.text
   html += answer.comments
   html += '

' html

end