f93f8f569d
Enables frozen string for the following: * lib/gitlab/patch/**/*.rb * lib/gitlab/popen/**/*.rb * lib/gitlab/profiler/**/*.rb * lib/gitlab/project_authorizations/**/*.rb * lib/gitlab/prometheus/**/*.rb * lib/gitlab/query_limiting/**/*.rb * lib/gitlab/quick_actions/**/*.rb * lib/gitlab/redis/**/*.rb * lib/gitlab/request_profiler/**/*.rb * lib/gitlab/search/**/*.rb * lib/gitlab/sherlock/**/*.rb * lib/gitlab/sidekiq_middleware/**/*.rb * lib/gitlab/slash_commands/**/*.rb * lib/gitlab/sql/**/*.rb * lib/gitlab/template/**/*.rb * lib/gitlab/testing/**/*.rb * lib/gitlab/utils/**/*.rb * lib/gitlab/webpack/**/*.rb Partially addresses gitlab-org/gitlab-ce#47424.
26 lines
717 B
Ruby
26 lines
717 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module QuickActions
|
|
class SubstitutionDefinition < CommandDefinition
|
|
# noop?=>true means these won't get extracted or removed by Gitlab::QuickActions::Extractor#extract_commands
|
|
# QuickActions::InterpretService#perform_substitutions handles them separately
|
|
def noop?
|
|
true
|
|
end
|
|
|
|
def match(content)
|
|
content.match %r{^/#{all_names.join('|')} ?(.*)$}
|
|
end
|
|
|
|
def perform_substitution(context, content)
|
|
return unless content
|
|
|
|
all_names.each do |a_name|
|
|
content.gsub!(%r{/#{a_name} ?(.*)$}i, execute_block(action_block, context, '\1'))
|
|
end
|
|
content
|
|
end
|
|
end
|
|
end
|
|
end
|