Class: Renogen::Formatters::Base
- Inherits:
-
Object
- Object
- Renogen::Formatters::Base
- Defined in:
- lib/renogen/formatters/base.rb
Overview
Implements a template pattern that forces the implemention of required methods in sub classes
Class Method Summary collapse
-
.register(identifier) ⇒ Object
Adds class with identifier to formatters.
Instance Method Summary collapse
-
#header(changelog) ⇒ Object
Generate a header for a given changelog.
-
#initialize(options = {}) ⇒ Base
constructor
A new instance of Base.
-
#write_change(change) ⇒ Object
abstract
Outputs a line or block as the body for a change.
-
#write_footer(changelog) ⇒ nil
Outputs a line or block of text appearing at the bottom of the change log.
-
#write_group(group) ⇒ Object
abstract
Outputs a line or block as a header for a group.
-
#write_group_end ⇒ nil
Outputs a line or block of text appearing after a group.
-
#write_header(header) ⇒ Object
abstract
Outputs a line or block of text appearing at the top of the change log.
Constructor Details
#initialize(options = {}) ⇒ Base
Returns a new instance of Base.
6 7 |
# File 'lib/renogen/formatters/base.rb', line 6 def initialize(={}) end |
Class Method Details
.register(identifier) ⇒ Object
Adds class with identifier to formatters
12 13 14 |
# File 'lib/renogen/formatters/base.rb', line 12 def self.register(identifier) Renogen::Formatters.add(identifier.to_sym, self) end |
Instance Method Details
#header(changelog) ⇒ Object
Generate a header for a given changelog
return [String]
21 22 23 |
# File 'lib/renogen/formatters/base.rb', line 21 def header(changelog) "#{changelog.version} (#{changelog.date})" end |
#write_change(change) ⇒ Object
Outputs a line or block as the body for a change.
57 58 59 |
# File 'lib/renogen/formatters/base.rb', line 57 def write_change(change) raise NotImplementedError end |
#write_footer(changelog) ⇒ nil
Outputs a line or block of text appearing at the bottom of the change log.
65 66 |
# File 'lib/renogen/formatters/base.rb', line 65 def (changelog) end |
#write_group(group) ⇒ Object
Outputs a line or block as a header for a group.
41 42 43 |
# File 'lib/renogen/formatters/base.rb', line 41 def write_group(group) raise NotImplementedError end |
#write_group_end ⇒ nil
Outputs a line or block of text appearing after a group.
48 49 |
# File 'lib/renogen/formatters/base.rb', line 48 def write_group_end end |
#write_header(header) ⇒ Object
Outputs a line or block of text appearing at the top of the change log.
31 32 33 |
# File 'lib/renogen/formatters/base.rb', line 31 def write_header(header) raise NotImplementedError end |