Skip to content

Instantly share code, notes, and snippets.

@robink
Last active December 17, 2015 06:58
Show Gist options
  • Save robink/5568944 to your computer and use it in GitHub Desktop.
Save robink/5568944 to your computer and use it in GitHub Desktop.

Revisions

  1. Robin Komiwes revised this gist Jun 11, 2013. 1 changed file with 8 additions and 4 deletions.
    12 changes: 8 additions & 4 deletions changelog.rb
    Original file line number Diff line number Diff line change
    @@ -12,12 +12,12 @@ def print_changelog( repo, pr )


    def print_pr( repo, pr )
    updated_at = Date.rfc3339(pr.updated_at)
    date_at = Date.rfc3339( pr.merged_at ? pr.merged_at : pr.updated_at )

    users = repo.pull_requests.commits( number: pr["number"]).map{ |commit| commit["author"]["login"] }
    users = repo.pull_requests.commits( number: pr["number"]).map{ |commit| commit["author"].nil? ? "" : commit["author"]["login"] }
    users.uniq!

    puts "[" + updated_at.strftime('%d/%m/%Y') + "] " + pr.title.strip.upcase
    puts "[" + date_at.strftime('%d/%m/%Y') + "] " + pr.title.strip.upcase
    puts "Authors: " + users.join(", ")
    puts pr.body
    puts ""
    @@ -41,4 +41,8 @@ def print_pr( repo, pr )
    puts "RELEASED"
    puts ""

    pull_requests.list( state: "closed" ).each{ |pr| print_changelog( repo, pr ) }
    pull_requests.list( state: "closed" ).each do |pr|
    if pull_requests.merged?( owner, repo_name, pr.number)
    print_changelog( repo, pr )
    end
    end
  2. Robin Komiwes revised this gist May 20, 2013. 1 changed file with 13 additions and 11 deletions.
    24 changes: 13 additions & 11 deletions changelog.rb
    Original file line number Diff line number Diff line change
    @@ -1,29 +1,31 @@
    require 'highline/import'
    require 'github_api'


    login = ask("Login: ")
    password = ask("Password: ") { |q| q.echo = false }
    owner = ask("Repo owner: ")
    repo = ask("Repo name: ")

    repo_name = ask("Repo name: ")

    def print_changelog( pr )
    print_pr(pr) if pr.title.gsub!(/#changelog/, '')
    def print_changelog( repo, pr )
    print_pr(repo, pr) if pr.title.gsub!(/#changelog/, '')
    end


    def print_pr( pr )
    def print_pr( repo, pr )
    updated_at = Date.rfc3339(pr.updated_at)

    users = repo.pull_requests.commits( number: pr["number"]).map{ |commit| commit["author"]["login"] }
    users.uniq!

    puts "[" + updated_at.strftime('%d/%m/%Y') + "] " + pr.title.strip.upcase
    puts "Authors: " + users.join(", ")
    puts pr.body
    puts ""
    end

    repo = Github.new login: login, password: password, user: owner, repo: repo_name

    github = Github.new login: login, password: password, user: owner, repo: repo

    pull_requests = github.pull_requests
    pull_requests = repo.pull_requests

    puts "### CHANGELOG ###"
    puts ""
    @@ -32,11 +34,11 @@ def print_pr( pr )
    puts "UPCOMING CHANGES"
    puts ""

    pull_requests.list.each{ |pr| print_changelog pr }
    pull_requests.list.each{ |pr| print_changelog( repo, pr ) }


    puts "----------------"
    puts "RELEASED"
    puts ""

    pull_requests.list( state: "closed" ).each{ |pr| print_changelog pr }
    pull_requests.list( state: "closed" ).each{ |pr| print_changelog( repo, pr ) }
  3. Robin Komiwes created this gist May 13, 2013.
    4 changes: 4 additions & 0 deletions Gemfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    source 'https://rubygems.org'

    gem "github_api"
    gem "highline"
    42 changes: 42 additions & 0 deletions changelog.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    require 'highline/import'
    require 'github_api'


    login = ask("Login: ")
    password = ask("Password: ") { |q| q.echo = false }
    owner = ask("Repo owner: ")
    repo = ask("Repo name: ")


    def print_changelog( pr )
    print_pr(pr) if pr.title.gsub!(/#changelog/, '')
    end


    def print_pr( pr )
    updated_at = Date.rfc3339(pr.updated_at)
    puts "[" + updated_at.strftime('%d/%m/%Y') + "] " + pr.title.strip.upcase
    puts pr.body
    puts ""
    end


    github = Github.new login: login, password: password, user: owner, repo: repo

    pull_requests = github.pull_requests

    puts "### CHANGELOG ###"
    puts ""

    puts "----------------"
    puts "UPCOMING CHANGES"
    puts ""

    pull_requests.list.each{ |pr| print_changelog pr }


    puts "----------------"
    puts "RELEASED"
    puts ""

    pull_requests.list( state: "closed" ).each{ |pr| print_changelog pr }