debian-mirror-gitlab/lib/gitlab/quick_actions/substitution_definition.rb

28 lines
727 B
Ruby
Raw Normal View History

2019-02-15 15:39:39 +05:30
# frozen_string_literal: true
2017-09-10 17:25:29 +05:30
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|
2019-12-04 20:38:33 +05:30
content = content.gsub(%r{/#{a_name} ?(.*)$}i, execute_block(action_block, context, '\1'))
2017-09-10 17:25:29 +05:30
end
2019-12-04 20:38:33 +05:30
2017-09-10 17:25:29 +05:30
content
end
end
end
end