debian-mirror-gitlab/app/controllers/concerns/find_snippet.rb
2021-10-27 15:23:28 +05:30

28 lines
507 B
Ruby

# 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(snippet_find_params)
end
end
# rubocop:enable CodeReuse/ActiveRecord
def snippet_klass
raise NotImplementedError
end
def snippet_id
params[:id]
end
def snippet_find_params
{ id: snippet_id }
end
end