From 020e616822f0e634932bf948013f94eb7ef413bb Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Thu, 12 May 2016 16:47:45 -0500 Subject: [PATCH] Reduce duplication and branching logic in EventsHelper Remove unused methods from Event model --- app/helpers/events_helper.rb | 56 ++++++++++-------------------------- app/models/event.rb | 21 ++++++-------- app/models/project.rb | 2 ++ 3 files changed, 25 insertions(+), 54 deletions(-) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index 19281e3f3aa..e1489381706 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -57,11 +57,7 @@ module EventsHelper words << event.ref_name words << "at" elsif event.commented? - if event.commit_note? - words << event.note_short_commit_id - else - words << "##{truncate event.note_target_iid}" - end + words << event.note_target_reference words << "at" elsif event.milestone? words << "##{event.target_iid}" if event.target_iid @@ -89,16 +85,7 @@ module EventsHelper event.note_target) elsif event.note? if event.note_target - if event.commit_note? - namespace_project_commit_path(event.project.namespace, event.project, - event.note_commit_id, - anchor: dom_id(event.target)) - elsif event.project_snippet_note? - namespace_project_snippet_path(event.project.namespace, - event.project, event.note_target) - else - event_note_target_path(event) - end + event_note_target_path(event) end elsif event.push? push_event_feed_url(event) @@ -135,42 +122,29 @@ module EventsHelper def event_note_target_path(event) if event.note? && event.commit_note? - namespace_project_commit_path(event.project.namespace, event.project, - event.note_target) + namespace_project_commit_path(event.project.namespace, + event.project, + event.note_target, + anchor: dom_id(event.target)) + elsif event.project_snippet_note? + namespace_project_snippet_path(event.project.namespace, + event.project, + event.note_target, + anchor: dom_id(event.target)) else polymorphic_path([event.project.namespace.becomes(Namespace), event.project, event.note_target], - anchor: dom_id(event.target)) + anchor: dom_id(event.target)) end end def event_note_title_html(event) if event.note_target - if event.commit_note? - link_to( - namespace_project_commit_path(event.project.namespace, event.project, - event.note_commit_id, - anchor: dom_id(event.target)), - title: event.target_title, - class: "commit_short_id" - ) do - "#{event.note_target_type} #{event.note_short_commit_id}" - end - elsif event.project_snippet_note? - link_to(namespace_project_snippet_path(event.project.namespace, - event.project, - event.note_target), title: event.project.name) do - "#{event.note_target_type} #{truncate event.note_target.to_reference}" - end - else - link_to event_note_target_path(event), title: event.target_title do - "#{event.note_target_type} #{truncate event.note_target.to_reference}" - end + link_to(event_note_target_path(event), title: event.target_title, class: 'has-tooltip') do + "#{event.note_target_type} #{event.note_target_reference}" end else - content_tag :strong do - "(deleted)" - end + content_tag(:strong, '(deleted)') end end diff --git a/app/models/event.rb b/app/models/event.rb index 2e9da42deaa..716039fb54b 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -266,18 +266,10 @@ class Event < ActiveRecord::Base branch? && project.default_branch != branch_name end - def note_commit_id - target.commit_id - end - def target_iid target.respond_to?(:iid) ? target.iid : target_id end - def note_short_commit_id - Commit.truncate_sha(note_commit_id) - end - def commit_note? target.for_commit? end @@ -302,12 +294,15 @@ class Event < ActiveRecord::Base end end - def note_target_iid - if note_target.respond_to?(:iid) - note_target.iid + def note_target_reference + return unless note_target + + # Commit#to_reference returns the full SHA, but we want the short one here + if commit_note? + note_target.short_id else - note_target_id - end.to_s + note_target.to_reference + end end def note_target_type diff --git a/app/models/project.rb b/app/models/project.rb index 6e85841db44..a3c4f1d8e9b 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -50,6 +50,8 @@ class Project < ActiveRecord::Base attr_accessor :new_default_branch attr_accessor :old_path_with_namespace + alias_attribute :title, :name + # Relations belongs_to :creator, foreign_key: 'creator_id', class_name: 'User' belongs_to :group, -> { where(type: Group) }, foreign_key: 'namespace_id'