Module: Capistrano::Committed

Defined in:
lib/capistrano/committed.rb,
lib/capistrano/committed/version.rb,
lib/capistrano/committed/github_api.rb

Defined Under Namespace

Classes: GithubApi

Constant Summary collapse

VERSION =
'0.0.4'

Class Method Summary collapse

Class Method Details

.format_issue_urls(urls, pad = '') ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/capistrano/committed.rb', line 30

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

.get_issue_urls(issue_pattern, url_pattern, message) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/capistrano/committed.rb', line 8

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)

  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