diff --git a/CHANGELOG.md b/CHANGELOG.md index a473be1..86164ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,19 @@ # Change Log +## [1.13.0](https://github.com/skywinder/github-changelog-generator/tree/1.13.0) (2016-07-04) +[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.12.1...1.13.0) + +**Merged pull requests:** + +- Carry PR \#301: usernames\_as\_github\_logins [\#392](https://github.com/skywinder/github-changelog-generator/pull/392) ([olleolleolle](https://github.com/olleolleolle)) + ## [1.12.1](https://github.com/skywinder/github-changelog-generator/tree/1.12.1) (2016-05-09) [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.12.0...1.12.1) +**Fixed bugs:** + +- github\_changelog\_generator/generator/generator\_tags.rb:61:in `detect\_since\_tag': undefined method `\[\]' for nil:NilClass \(NoMethodError\) [\#351](https://github.com/skywinder/github-changelog-generator/issues/351) + **Closed issues:** - Add a LICENSE file [\#369](https://github.com/skywinder/github-changelog-generator/issues/369) @@ -505,10 +516,6 @@ - Encapsulate \[ \> \* \_ \ \] signs in issues names [\#34](https://github.com/skywinder/github-changelog-generator/issues/34) -**Merged pull requests:** - -- Add a Bitdeli Badge to README [\#36](https://github.com/skywinder/github-changelog-generator/pull/36) ([bitdeli-chef](https://github.com/bitdeli-chef)) - ## [1.2.1](https://github.com/skywinder/github-changelog-generator/tree/1.2.1) (2014-11-22) [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.2.0...1.2.1) diff --git a/Gemfile.lock b/Gemfile.lock index 0cae2f4..f8c6a1d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - github_changelog_generator (1.12.1) + github_changelog_generator (1.13.0) colorize (~> 0.7) github_api (~> 0.12) rake (>= 10.0) @@ -105,4 +105,4 @@ DEPENDENCIES simplecov (~> 0.10) BUNDLED WITH - 1.12.0.rc.2 + 1.12.5 diff --git a/lib/github_changelog_generator/fetcher.rb b/lib/github_changelog_generator/fetcher.rb index f375119..4db61b9 100644 --- a/lib/github_changelog_generator/fetcher.rb +++ b/lib/github_changelog_generator/fetcher.rb @@ -71,7 +71,7 @@ module GitHubChangelogGenerator response.each_page do |page| page_i += PER_PAGE_NUMBER print_in_same_line("Fetching tags... #{page_i}/#{count_pages * PER_PAGE_NUMBER}") - tags.concat(page) + tags.concat(page) unless page.nil? end print_empty_line diff --git a/lib/github_changelog_generator/generator/generator_generation.rb b/lib/github_changelog_generator/generator/generator_generation.rb index b22fe40..44df8df 100644 --- a/lib/github_changelog_generator/generator/generator_generation.rb +++ b/lib/github_changelog_generator/generator/generator_generation.rb @@ -160,7 +160,7 @@ module GitHubChangelogGenerator # Parse issue and generate single line formatted issue line. # # Example output: - # - Add coveralls integration [\#223](https://github.com/skywinder/github-changelog-generator/pull/223) ([skywinder](https://github.com/skywinder)) + # - Add coveralls integration [\#223](https://github.com/skywinder/github-changelog-generator/pull/223) (@skywinder) # # @param [Hash] issue Fetched issue from GitHub # @return [String] Markdown-formatted single issue @@ -168,17 +168,22 @@ module GitHubChangelogGenerator encapsulated_title = encapsulate_string issue[:title] title_with_number = "#{encapsulated_title} [\\##{issue[:number]}](#{issue.html_url})" + issue_line_with_user(title_with_number, issue) + end - unless issue.pull_request.nil? - if @options[:author] - title_with_number += if issue.user.nil? - " ({Null user})" - else - " ([#{issue.user.login}](#{issue.user.html_url}))" - end - end + private + + def issue_line_with_user(line, issue) + return line if !@options[:author] || issue.pull_request.nil? + + user = issue.user + return "#{line} ({Null user})" unless user + + if @options[:usernames_as_github_logins] + "#{line} (@#{user.login})" + else + "#{line} ([#{user.login}](#{user.html_url}))" end - title_with_number end end end diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index 75a846e..cdd673e 100644 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -92,6 +92,9 @@ module GitHubChangelogGenerator opts.on("--[no-]author", "Add author of pull-request in the end. Default is true") do |author| options[:author] = author end + opts.on("--usernames-as-github-logins", "Use GitHub tags instead of Markdown links for the author of an issue or pull-request.") do |v| + options[:usernames_as_github_logins] = v + end opts.on("--unreleased-only", "Generate log from unreleased closed issues only.") do |v| options[:unreleased_only] = v end