Sha256: b918c31a11187d4a50bd5805ff486e3fafbf3676910f11da7d99c0d347932f6f

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require 'capistrano/committed/version'
require 'capistrano/committed/i18n'
require 'capistrano/committed/github_api'

module Capistrano
  module Committed
    class << self
      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

      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__)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capistrano-committed-0.0.4 lib/capistrano/committed.rb