summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/redirects_for_missing_path_on_tree.rb
blob: 085afbf3975cf74d07f3f543967345544637d707 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# frozen_string_literal: true

module RedirectsForMissingPathOnTree
  def redirect_to_tree_root_for_missing_path(project, ref, path)
    redirect_to project_tree_path(project, ref), notice: missing_path_on_ref(path, ref)
  end

  private

  def missing_path_on_ref(path, ref)
    _('"%{path}" did not exist on "%{ref}"') % { path: truncate_path(path), ref: ref }
  end

  def truncate_path(path)
    path.reverse.truncate(60, separator: "/").reverse
  end
end