class Renogen::Generator

This is the conductor of the application

Attributes

options[RW]
output_format[RW]
source[RW]
version[RW]

Public Class Methods

new(version, source, output_format, options = {}) click to toggle source
# File lib/renogen/generator.rb, line 8
def initialize(version, source, output_format, options = {})
  @version = version
  @source = source
  @output_format = output_format
  @options = options
end

Public Instance Methods

generate!() click to toggle source

Create the change log

# File lib/renogen/generator.rb, line 16
def generate!
  changelog = extraction_stratagy.extract
  changelog.version = version
  changelog.date = options['release_date']

  validator.validate!(changelog) if options['allowed_values']&.any?
  writer.write!(changelog)
end

Protected Instance Methods

extraction_stratagy() click to toggle source
# File lib/renogen/generator.rb, line 31
def extraction_stratagy
  Renogen::ExtractionStratagies.obtain(source, options)
end
formatter() click to toggle source
# File lib/renogen/generator.rb, line 35
def formatter
  Renogen::Formatters.obtain(output_format, options)
end
validator() click to toggle source
# File lib/renogen/generator.rb, line 39
def validator
  Renogen::ChangeLog::Validator.new(formatter)
end
writer() click to toggle source
# File lib/renogen/generator.rb, line 27
def writer
  Renogen::ChangeLog::Writer.new(formatter)
end