Sha256: 029611bfea2d09ddbb1d3b9c1352b18b1de6cca988fcf0ee035ecba696d520c0

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require "octokit"
require "faraday-http-cache"
require "logger"
require "active_support"
require "json"
require "multi_json"
require "benchmark"

require_relative "github_changelog_generator/helper"
require_relative "github_changelog_generator/options"
require_relative "github_changelog_generator/parser"
require_relative "github_changelog_generator/parser_file"
require_relative "github_changelog_generator/generator/generator"
require_relative "github_changelog_generator/version"
require_relative "github_changelog_generator/reader"

# The main module, where placed all classes (now, at least)
module GitHubChangelogGenerator
  # Main class and entry point for this script.
  class ChangelogGenerator
    # Class, responsible for whole change log generation cycle
    # @return initialised instance of ChangelogGenerator
    def initialize
      @options = Parser.parse_options
      @generator = Generator.new @options
    end

    # The entry point of this script to generate change log
    # @raise (ChangelogGeneratorError) Is thrown when one of specified tags was not found in list of tags.
    def run
      log = @generator.compound_changelog

      output_filename = (@options[:output]).to_s
      File.open(output_filename, "w") { |file| file.write(log) }
      puts "Done!"
      puts "Generated log placed in #{Dir.pwd}/#{output_filename}"
    end
  end

  if __FILE__ == $PROGRAM_NAME
    GitHubChangelogGenerator::ChangelogGenerator.new.run
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
github_changelog_generator-1.14.3 lib/github_changelog_generator.rb
github_changelog_generator-1.14.2 lib/github_changelog_generator.rb
github_changelog_generator-1.14.1 lib/github_changelog_generator.rb
github_changelog_generator-1.14.0 lib/github_changelog_generator.rb