Reduce duplication and branching logic in EventsHelper

Remove unused methods from Event model
This commit is contained in:
Robert Speicher 2016-05-12 16:47:45 -05:00
parent 0ec2ee71b3
commit 020e616822
3 changed files with 25 additions and 54 deletions

View file

@ -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

View file

@ -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

View file

@ -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'