github-changelog-generator/lib/github_changelog_generator.rb
Olle Jonsson 874c23c64f Chore: Rubocop 0.49.0 (#516)
* Rubocoping
2017-05-25 00:11:02 +02:00

43 lines
1.3 KiB
Ruby
Executable File

#!/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 "github_changelog_generator/helper"
require "github_changelog_generator/options"
require "github_changelog_generator/parser"
require "github_changelog_generator/parser_file"
require "github_changelog_generator/generator/generator"
require "github_changelog_generator/version"
require "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, "wb") { |file| file.write(log) }
puts "Done!"
puts "Generated log placed in #{Dir.pwd}/#{output_filename}"
end
end
end