lib/capistrano/committed.rb in capistrano-committed-0.0.3 vs lib/capistrano/committed.rb in capistrano-committed-0.0.4
- old
+ new
@@ -1,22 +1,43 @@
-require "capistrano/committed/version"
+require 'capistrano/committed/version'
require 'capistrano/committed/i18n'
-require "capistrano/committed/github_api"
+require 'capistrano/committed/github_api'
module Capistrano
module Committed
class << self
- def scan_for_issues(pattern, string)
- raise TypeError, sprintf('`%s` requires a valid pattern.', __callee__) unless pattern.is_a?(String) || pattern.is_a?(Regexp)
- raise TypeError, sprintf('`%s` requires a valid string.', __callee__) unless pattern.is_a?(String)
+ def get_issue_urls(issue_pattern, url_pattern, message)
+ fail TypeError, t('committed.error.helpers.valid_param',
+ method: __callee__,
+ param: 'issue_pattern') unless
+ issue_pattern.is_a?(String) ||
+ issue_pattern.is_a?(Regexp)
- matches = Regexp.new(pattern).match(string)
- return unless matches && matches[1]
- matches = matches.to_a
- matches.shift
- matches
+ fail TypeError, t('committed.error.helpers.valid_param',
+ method: __callee__,
+ param: 'url_pattern') unless
+ url_pattern.is_a?(String)
+
+ fail TypeError, t('committed.error.helpers.valid_param',
+ method: __callee__,
+ param: 'message') unless
+ message.is_a?(String)
+
+ matches = message.scan(Regexp.new(issue_pattern))
+ return [] unless matches
+ matches.map { |m| format(url_pattern, m[0]) }
end
+
+ def format_issue_urls(urls, pad = '')
+ return [] if urls.nil? || urls.empty?
+ output = []
+ output << format('%s %s', pad, t('committed.output.issue_links'))
+ urls.each do |url|
+ output << format('%s - %s', pad, url)
+ end
+ output << format('%s', pad)
+ end
end
end
end
-load File.expand_path("../tasks/committed.rake", __FILE__)
+load File.expand_path('../tasks/committed.rake', __FILE__)