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
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
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.
-
#table_formatter? ⇒ Boolean
Switch to determine if the formatter is in table format(instead of group format).
-
#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.
10 11 12 |
# File 'lib/renogen/formatters/base.rb', line 10 def initialize( = {}) @options = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
8 9 10 |
# File 'lib/renogen/formatters/base.rb', line 8 def @options end |
Class Method Details
.register(identifier) ⇒ Object
Adds class with identifier to formatters
24 25 26 |
# File 'lib/renogen/formatters/base.rb', line 24 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]
33 34 35 |
# File 'lib/renogen/formatters/base.rb', line 33 def header(changelog) "#{changelog.version} (#{changelog.date})" end |
#table_formatter? ⇒ Boolean
Switch to determine if the formatter is in table format(instead of group format)
return [Boolean] (default: false)
17 18 19 |
# File 'lib/renogen/formatters/base.rb', line 17 def table_formatter? false # for backward compatibility end |
#write_change(change) ⇒ Object
Outputs a line or block as the body for a change.
67 68 69 |
# File 'lib/renogen/formatters/base.rb', line 67 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.
75 76 |
# File 'lib/renogen/formatters/base.rb', line 75 def (changelog) end |
#write_group(group) ⇒ Object
Outputs a line or block as a header for a group.
52 53 |
# File 'lib/renogen/formatters/base.rb', line 52 def write_group(group) end |
#write_group_end ⇒ nil
Outputs a line or block of text appearing after a group.
58 59 |
# File 'lib/renogen/formatters/base.rb', line 58 def write_group_end end |
#write_header(header) ⇒ Object
Outputs a line or block of text appearing at the top of the change log.
43 44 |
# File 'lib/renogen/formatters/base.rb', line 43 def write_header(header) end |