Class: PrChangelog::ChangeLine

Inherits:
Object
  • Object
show all
Defined in:
lib/pr_changelog/change_line.rb

Overview

Represents a single change entry in the changelog

Constant Summary collapse

SKIP_CI_PATTERN =
/\s*\[(skip ci)\]\s*/im

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pr_number, tag, title) ⇒ ChangeLine

Returns a new instance of ChangeLine.



10
11
12
13
14
# File 'lib/pr_changelog/change_line.rb', line 10

def initialize(pr_number, tag, title)
  @pr_number = pr_number
  @tag = tag
  @title = title.gsub(SKIP_CI_PATTERN, '')
end

Instance Attribute Details

#pr_numberObject (readonly)

Returns the value of attribute pr_number.



6
7
8
# File 'lib/pr_changelog/change_line.rb', line 6

def pr_number
  @pr_number
end

#tagObject (readonly)

Returns the value of attribute tag.



6
7
8
# File 'lib/pr_changelog/change_line.rb', line 6

def tag
  @tag
end

#titleObject (readonly)

Returns the value of attribute title.



6
7
8
# File 'lib/pr_changelog/change_line.rb', line 6

def title
  @title
end

Instance Method Details

#emojified_for(tag_object) ⇒ Object



28
29
30
# File 'lib/pr_changelog/change_line.rb', line 28

def emojified_for(tag_object)
  "- #{pr_number}: #{tag_object.emoji} #{formatted_title}"
end

#formatted_titleObject



24
25
26
# File 'lib/pr_changelog/change_line.rb', line 24

def formatted_title
  title.first_uppercase
end

#to_sObject



16
17
18
19
20
21
22
# File 'lib/pr_changelog/change_line.rb', line 16

def to_s
  if tag.nil?
    "- #{pr_number}: #{formatted_title}"
  else
    "- #{pr_number}: #{tag}: #{title.first_lowercase}"
  end
end