Class: MetaCommit::Changelog::Formatters::KeepAChangelogVerReportBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb

Overview

Class builds messages with release changes according to [Keep a Changelog](keepachangelog.com/en/1.0.0/) specification

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version, date) ⇒ KeepAChangelogVerReportBuilder

Returns a new instance of KeepAChangelogVerReportBuilder.



16
17
18
19
20
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 16

def initialize(version, date)
  @version=version
  @date=date
  @added_changes, @changed_changes, @deprecated_changes, @removed_changes, @fixed_changes, @security_changes = [], [], [], [], [], []
end

Instance Attribute Details

#added_changesObject

attr_reader :version, :date



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def added_changes
  @added_changes
end

#changed_changesObject

attr_reader :version, :date



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def changed_changes
  @changed_changes
end

#dateString

Returns the current value of date.

Returns:

  • (String)

    the current value of date



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def date
  @date
end

#deprecated_changesObject

attr_reader :version, :date



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def deprecated_changes
  @deprecated_changes
end

#fixed_changesObject

attr_reader :version, :date



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def fixed_changes
  @fixed_changes
end

#removed_changesObject

attr_reader :version, :date



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def removed_changes
  @removed_changes
end

#security_changesObject

attr_reader :version, :date



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def security_changes
  @security_changes
end

#versionString

Returns the current value of version.

Returns:

  • (String)

    the current value of version



12
13
14
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 12

def version
  @version
end

Instance Method Details

#add_to_added(change) ⇒ Object

Parameters:

  • change (String)


23
24
25
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 23

def add_to_added(change)
  @added_changes.push(change)
end

#add_to_changed(change) ⇒ Object

Parameters:

  • change (String)


28
29
30
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 28

def add_to_changed(change)
  @changed_changes.push(change)
end

#add_to_deprecated(change) ⇒ Object

Parameters:

  • change (String)


33
34
35
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 33

def add_to_deprecated(change)
  @deprecated_changes.push(change)
end

#add_to_fixed(change) ⇒ Object

Parameters:

  • change (String)


43
44
45
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 43

def add_to_fixed(change)
  @fixed_changes.push(change)
end

#add_to_removed(change) ⇒ Object

Parameters:

  • change (String)


38
39
40
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 38

def add_to_removed(change)
  @removed_changes.push(change)
end

#add_to_security(change) ⇒ Object

Parameters:

  • change (String)


48
49
50
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 48

def add_to_security(change)
  @security_changes.push(change)
end

#buildString

Returns Report with version changes.

Returns:

  • (String)

    Report with version changes



111
112
113
114
115
116
117
118
119
120
# File 'lib/meta_commit/changelog/formatters/keep_a_changelog_ver_report_builder.rb', line 111

def build
  result = [version_entry]
  result += [added_changes_group_entry] unless @added_changes.empty?
  result += [changed_changes_group_entry] unless @changed_changes.empty?
  result += [deprecated_changes_group_entry] unless @deprecated_changes.empty?
  result += [removed_changes_group_entry] unless @removed_changes.empty?
  result += [fixed_changes_group_entry] unless @fixed_changes.empty?
  result += [security_changes_group_entry] unless @security_changes.empty?
  result.join("\n")
end