Sha256: 31e3c477def2b3b317d9da79d85603c296633b8ac74c4b1b1cd3ebc0a692ff78

Contents?: true

Size: 882 Bytes

Versions: 30

Compression:

Stored size: 882 Bytes

Contents

require 'octokit'
require 'reverse_markdown'
require 'erb'

class ChangeLogGenerator
  attr :repository, :template_path, :changelog_path

  def initialize(repository, template_path: "CHANGELOG.md.erb", changelog_path: "CHANGELOG.md")
    @repository     = repository
    @template_path  = template_path
    @changelog_path = changelog_path
  end

  def generate_and_save!
    changelog_in_md   = ERB.new(template).result(binding)
    changelog_in_html = Octokit.markdown(changelog_in_md, context: repository, mode: "gfm")

    File.open(changelog_path, 'w') do |file|
      file.write ReverseMarkdown.convert(changelog_in_html, github_flavored: true)
    end
  end

  private

  def template
    open("#{__dir__}/#{template_path}").read
  end

  def releases
    @releases ||= Octokit.releases(repository)
  end
end

ChangeLogGenerator.new("yuki24/did_you_mean").generate_and_save!

Version data entries

30 entries across 30 versions & 2 rubygems

Version Path
did_you_mean-1.3.1 doc/changelog_generator.rb
did_you_mean-1.2.2 doc/changelog_generator.rb
did_you_mean-1.1.3 doc/changelog_generator.rb
did_you_mean-1.0.4 doc/changelog_generator.rb
did_you_mean-1.3.0 doc/changelog_generator.rb
did_you_mean-1.2.1 doc/changelog_generator.rb
did_you_mean-1.2.0 doc/changelog_generator.rb
did_you_mean-1.0.3 doc/changelog_generator.rb
did_you_mean-1.1.2 doc/changelog_generator.rb
ruby-compiler-0.1.1 vendor/ruby/gems/did_you_mean-1.1.0/doc/changelog_generator.rb
did_you_mean-1.1.0 doc/changelog_generator.rb
did_you_mean-1.0.2 doc/changelog_generator.rb
did_you_mean-1.0.1 doc/changelog_generator.rb
did_you_mean-1.0.0 doc/changelog_generator.rb
did_you_mean-1.0.0.rc1 doc/changelog_generator.rb
did_you_mean-1.0.0.beta3 doc/changelog_generator.rb
did_you_mean-1.0.0.beta2 doc/changelog_generator.rb
did_you_mean-0.10.0-java doc/changelog_generator.rb
did_you_mean-0.10.0 doc/changelog_generator.rb
did_you_mean-0.9.10-java doc/changelog_generator.rb