HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/share/gems/gems/did_you_mean-1.2.0/doc/changelog_generator.rb
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!