summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/find_snippet.rb
blob: d51f1a1b3ad11928faeea7b90dff08ebee4dba2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# frozen_string_literal: true

module FindSnippet
  extend ActiveSupport::Concern
  include Gitlab::Utils::StrongMemoize

  private

  # rubocop:disable CodeReuse/ActiveRecord
  def snippet
    strong_memoize(:snippet) do
      snippet_klass.inc_relations_for_view.find_by(id: snippet_id)
    end
  end
  # rubocop:enable CodeReuse/ActiveRecord

  def snippet_klass
    raise NotImplementedError
  end

  def snippet_id
    params[:id]
  end
end