Class: Codebot::Formatters::Issues

Inherits:
Codebot::Formatter show all
Defined in:
lib/codebot/formatters/issues.rb

Overview

This class formats issues events.

Instance Attribute Summary

Attributes inherited from Codebot::Formatter

#payload

Instance Method Summary collapse

Methods inherited from Codebot::Formatter

#abbreviate, #action, #ary_to_sentence, #closed?, #extract, #format_branch, #format_dangerous, #format_event, #format_hash, #format_number, #format_repository, #format_url, #format_user, #gitlab_action, #gitlab_closed?, #gitlab_opened?, #gitlab_repository_url, #gitlab_url, #initialize, #opened?, #prettify, #repository_name, #repository_url, #sanitize, #sender_name, #shorten_url, #url

Constructor Details

This class inherits a constructor from Codebot::Formatter

Instance Method Details

#default_formatObject



24
25
26
# File 'lib/codebot/formatters/issues.rb', line 24

def default_format
  '[%<repository>s] %<sender>s %<action>s issue #%<number>s: %<title>s'
end

#formatArray<String>

Formats IRC messages for an issue event.

Returns:

  • (Array<String>)

    the formatted messages



10
11
12
# File 'lib/codebot/formatters/issues.rb', line 10

def format
  ["#{summary}: #{format_url url}"] if opened? || closed?
end

#issue_numberObject



32
33
34
# File 'lib/codebot/formatters/issues.rb', line 32

def issue_number
  extract(:issue, :number)
end

#issue_titleObject



36
37
38
# File 'lib/codebot/formatters/issues.rb', line 36

def issue_title
  extract(:issue, :title)
end

#summaryObject



14
15
16
17
18
19
20
21
22
# File 'lib/codebot/formatters/issues.rb', line 14

def summary
  default_format % {
    repository: format_repository(repository_name),
    sender: format_user(sender_name),
    action: action,
    number: issue_number,
    title: issue_title
  }
end

#summary_urlObject



28
29
30
# File 'lib/codebot/formatters/issues.rb', line 28

def summary_url
  extract(:issue, :html_url).to_s
end