github_changelog_generator 1.10.4 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +0 -2
- data/Gemfile.lock +6 -6
- data/github_changelog_generator.gemspec +5 -3
- data/lib/github_changelog_generator/generator/generator_processor.rb +5 -6
- data/lib/github_changelog_generator/parser_file.rb +7 -4
- data/lib/github_changelog_generator/version.rb +1 -1
- data/spec/unit/generator/generator_processor_spec.rb +28 -0
- metadata +38 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c20db299867aa88cde0c9914af7155130708259c
|
4
|
+
data.tar.gz: 0ac2c10e11e0e1d304c741cc1c9c49b7dd1e284b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af6fe116dd2dac0ab7b7a3ff1d0dc01a935eaa3edf5fefb9102e624c85397ef2aa44e6581c9952b8bcb6f82abf0214ebe4fc708a1ee0eaf6f52bda3133e132d4
|
7
|
+
data.tar.gz: c34beb4a8a1f291b1ba6f38b775c9202611d0be9fd6461a531fec0d80c1d020a1e0b621b78042018c12de3c30bcfe313485b60a6ffc6567ec43d57a776d862cb
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
github_changelog_generator (1.
|
5
|
-
bundler (
|
4
|
+
github_changelog_generator (1.11.0)
|
5
|
+
bundler (>= 1.7)
|
6
6
|
colorize (~> 0.7)
|
7
7
|
github_api (~> 0.12)
|
8
|
-
overcommit (
|
9
|
-
rake (
|
8
|
+
overcommit (>= 0.31)
|
9
|
+
rake (>= 10.0)
|
10
|
+
rspec (>= 3.2)
|
11
|
+
rubocop (>= 0.31)
|
10
12
|
|
11
13
|
GEM
|
12
14
|
remote: https://rubygems.org/
|
@@ -99,8 +101,6 @@ DEPENDENCIES
|
|
99
101
|
codeclimate-test-reporter (~> 0.4)
|
100
102
|
coveralls (~> 0.8)
|
101
103
|
github_changelog_generator!
|
102
|
-
rspec (~> 3.2)
|
103
|
-
rubocop (~> 0.31)
|
104
104
|
simplecov (~> 0.10)
|
105
105
|
|
106
106
|
BUNDLED WITH
|
@@ -24,9 +24,11 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
25
25
|
spec.require_paths = ["lib"]
|
26
26
|
|
27
|
-
spec.add_runtime_dependency "rake", "
|
28
|
-
spec.add_runtime_dependency "bundler", "
|
27
|
+
spec.add_runtime_dependency "rake", ">= 10.0"
|
28
|
+
spec.add_runtime_dependency "bundler", ">= 1.7"
|
29
29
|
spec.add_runtime_dependency("github_api", ["~> 0.12"])
|
30
30
|
spec.add_runtime_dependency("colorize", ["~> 0.7"])
|
31
|
-
spec.add_runtime_dependency("overcommit", "
|
31
|
+
spec.add_runtime_dependency("overcommit", ">= 0.31")
|
32
|
+
spec.add_runtime_dependency("rubocop", ">= 0.31")
|
33
|
+
spec.add_runtime_dependency("rspec", ">= 3.2")
|
32
34
|
end
|
@@ -4,13 +4,12 @@ module GitHubChangelogGenerator
|
|
4
4
|
# @param [Array] issues
|
5
5
|
# @return [Array] filtered array
|
6
6
|
def exclude_issues_by_labels(issues)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
return issues if !@options[:exclude_labels] || @options[:exclude_labels].empty?
|
8
|
+
|
9
|
+
issues.reject do |issue|
|
10
|
+
labels = issue.labels.map(&:name)
|
11
|
+
(labels & @options[:exclude_labels]).any?
|
12
12
|
end
|
13
|
-
issues
|
14
13
|
end
|
15
14
|
|
16
15
|
# @return [Array] filtered issues accourding milestone
|
@@ -1,21 +1,24 @@
|
|
1
|
+
require "pathname"
|
2
|
+
|
1
3
|
module GitHubChangelogGenerator
|
2
4
|
ParserError = Class.new(StandardError)
|
3
5
|
|
4
6
|
class ParserFile
|
7
|
+
FILENAME = ".github_changelog_generator"
|
8
|
+
|
5
9
|
def initialize(options)
|
6
10
|
@options = options
|
7
11
|
end
|
8
12
|
|
13
|
+
# Destructively change @options using data in configured options file.
|
9
14
|
def parse!
|
10
|
-
|
11
|
-
|
12
|
-
File.readlines(file).each { |line| parse_line!(line) }
|
15
|
+
file.each_line { |line| parse_line!(line) } if file.exist?
|
13
16
|
end
|
14
17
|
|
15
18
|
private
|
16
19
|
|
17
20
|
def file
|
18
|
-
@file ||= File.expand_path(@options[:params_file] ||
|
21
|
+
@file ||= Pathname(File.expand_path(@options[:params_file] || FILENAME))
|
19
22
|
end
|
20
23
|
|
21
24
|
def parse_line!(line)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module GitHubChangelogGenerator
|
2
|
+
describe Generator do
|
3
|
+
context "#exclude_issues_by_labels" do
|
4
|
+
let(:label) { double("the-bad-label", name: "BAD") }
|
5
|
+
let(:issue) { double("the-issue-to-be-excluded", labels: [label]) }
|
6
|
+
let(:good_label) { double("a-good-label", name: "GOOD") }
|
7
|
+
let(:good_issue) { double("an-issue-to-be-kept", labels: [good_label]) }
|
8
|
+
let(:issues) { [issue, good_issue] }
|
9
|
+
subject(:generator) { described_class.new(exclude_labels: %w(BAD BOO)) }
|
10
|
+
|
11
|
+
it "removes issues with labels in the exclude_label list" do
|
12
|
+
result = generator.exclude_issues_by_labels(issues)
|
13
|
+
|
14
|
+
expect(result).to include(good_issue)
|
15
|
+
expect(result).not_to include(issue)
|
16
|
+
end
|
17
|
+
|
18
|
+
context "with no option given" do
|
19
|
+
subject(:generator) { described_class.new }
|
20
|
+
it "passes everything through when no option given" do
|
21
|
+
result = generator.exclude_issues_by_labels(issues)
|
22
|
+
|
23
|
+
expect(result).to eq(issues)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: github_changelog_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Petr Korolev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '10.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '10.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.7'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.7'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -70,16 +70,44 @@ dependencies:
|
|
70
70
|
name: overcommit
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.31'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.31'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.31'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0.31'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.2'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.2'
|
83
111
|
description: Changelog generation has never been so easy. Fully automate changelog
|
84
112
|
generation - this gem generate change log file based on tags, issues and merged
|
85
113
|
pull requests from Github issue tracker.
|
@@ -134,6 +162,7 @@ files:
|
|
134
162
|
- spec/files/github_changelog_params_override
|
135
163
|
- spec/spec_helper.rb
|
136
164
|
- spec/unit/fetcher_spec.rb
|
165
|
+
- spec/unit/generator/generator_processor_spec.rb
|
137
166
|
- spec/unit/generator/generator_tags_spec.rb
|
138
167
|
- spec/unit/parse_file_spec.rb
|
139
168
|
- spec/unit/parser_spec.rb
|
@@ -173,6 +202,7 @@ test_files:
|
|
173
202
|
- spec/files/github_changelog_params_override
|
174
203
|
- spec/spec_helper.rb
|
175
204
|
- spec/unit/fetcher_spec.rb
|
205
|
+
- spec/unit/generator/generator_processor_spec.rb
|
176
206
|
- spec/unit/generator/generator_tags_spec.rb
|
177
207
|
- spec/unit/parse_file_spec.rb
|
178
208
|
- spec/unit/parser_spec.rb
|