github_changelog_generator 1.0.1 → 1.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4bada16ec29dd68b14193bf8aef6eae5e9a2be4c
4
- data.tar.gz: 99b62a816857a214e0ecf12828d1d493a745cfb6
3
+ metadata.gz: 5f83cc895379430ee9e8613e77a63a10cec53de4
4
+ data.tar.gz: 59190fee38e70eff912d176f67b8facb5e8cf9ad
5
5
  SHA512:
6
- metadata.gz: c1721169cb1d4368b86727e7b644e1d69707450d783394b26d46a3b6dee7f13cc2ded314a17d8eae2c13cfd999838c3015878ceb9d1545bd4e7a8f34f730db5f
7
- data.tar.gz: a4a2f77e5c812ea37adc6d9276a55378a508a3d95a3fe55d4d395ebf3138b34f13b9be21414d8dc7304dd2c8e17b454c34d15e10e61f4cfc84d659f791605006
6
+ metadata.gz: f0e1137eacbd273a7e2aa5b90a1e8070d84c5634df249efc40e218a99967c59b05547ad03d6803ff60bc0b408d08b3915fb25138522d4952f5cf9922799ebc33
7
+ data.tar.gz: 8f5a48ede2c1f7863dabe0cf3a70eda72a1e6cd721f54bc3d157715c217682bbee8a2dc041078c60836e0815e868476ba9c3616433a545ac4250b7b5149f207b
@@ -60,7 +60,7 @@ class ChangelogGenerator
60
60
  tag1 = @options[:tag1]
61
61
  tag2 = @options[:tag2]
62
62
  tags_strings = []
63
- self.all_tags.each { |x| tags_strings.push(x['name'])}
63
+ self.all_tags.each { |x| tags_strings.push(x['name']) }
64
64
 
65
65
  if tags_strings.include?(tag1)
66
66
  if tags_strings.include?(tag2)
@@ -117,9 +117,14 @@ class ChangelogGenerator
117
117
  puts "Receive tags for repo #{url}"
118
118
  end
119
119
 
120
- response = HTTParty.get(url,
121
- :headers => {'Authorization' => "token #{@options[:token]}",
122
- 'User-Agent' => 'Changelog-Generator'})
120
+ if @options[:token]
121
+ response = HTTParty.get(url,
122
+ :headers => {'Authorization' => "token #{@options[:token]}",
123
+ 'User-Agent' => 'Changelog-Generator'})
124
+ else
125
+ response = HTTParty.get(url,
126
+ :headers => {'User-Agent' => 'Changelog-Generator'})
127
+ end
123
128
 
124
129
  json_parse = JSON.parse(response.body)
125
130
 
@@ -160,7 +165,7 @@ class ChangelogGenerator
160
165
 
161
166
  issues = Array.new(@issues)
162
167
 
163
- issues.delete_if{ |issue|
168
+ issues.delete_if { |issue|
164
169
  if issue[:closed_at]
165
170
  t = Time.parse(issue[:closed_at]).utc
166
171
  tag_is_later_since = t > since_tag_time
@@ -196,7 +201,7 @@ class ChangelogGenerator
196
201
 
197
202
  issues = Array.new(@issues)
198
203
 
199
- issues.delete_if{ |issue|
204
+ issues.delete_if { |issue|
200
205
  if issue[:closed_at]
201
206
  t = Time.parse(issue[:closed_at]).utc
202
207
  t > tag_time
@@ -234,19 +239,19 @@ class ChangelogGenerator
234
239
  if issues
235
240
  issues.each { |dict|
236
241
  is_bug = false
237
- is_enhancement = false
242
+ is_enhancement = false
238
243
  dict.labels.each { |label|
239
244
  if label.name == 'bug'
240
245
  is_bug = true
241
246
  end
242
247
  if label.name == 'enhancement'
243
- is_enhancement = true
248
+ is_enhancement = true
244
249
  end
245
250
  }
246
251
 
247
252
  intro = 'Closed issue'
248
253
  if is_bug
249
- intro = 'Fixed bug'
254
+ intro = 'Fixed bug'
250
255
  end
251
256
 
252
257
  if is_enhancement
@@ -298,4 +303,4 @@ end
298
303
  if __FILE__ == $0
299
304
  changelog_generator = ChangelogGenerator.new
300
305
  changelog_generator.compund_changelog
301
- end
306
+ end
@@ -3,14 +3,14 @@ require 'optparse'
3
3
 
4
4
  class Parser
5
5
  def self.parse_options
6
- options = {:tag1 => nil, :tag2 => nil, :format => '%d/%m/%y', :output => 'CHANGELOG.md', :labels => %w(bug enhancement), :pulls => true, :issues => true }
6
+ options = {:tag1 => nil, :tag2 => nil, :format => '%d/%m/%y', :output => 'CHANGELOG.md', :labels => %w(bug enhancement), :pulls => true, :issues => true, :verbose => true}
7
7
 
8
8
  parser = OptionParser.new { |opts|
9
- opts.banner = 'Usage: changelog_generator --user username --project project_name [options]'
10
- opts.on('-u', '--user [USER]', 'Username of the owner of target GitHub repo (required)') do |last|
9
+ opts.banner = 'Usage: changelog_generator [options]'
10
+ opts.on('-u', '--user [USER]', 'Username of the owner of target GitHub repo') do |last|
11
11
  options[:user] = last
12
12
  end
13
- opts.on('-p', '--project [PROJECT]', 'Name of project on GitHub (required)') do |last|
13
+ opts.on('-p', '--project [PROJECT]', 'Name of project on GitHub') do |last|
14
14
  options[:project] = last
15
15
  end
16
16
  opts.on('-t', '--token [TOKEN]', 'To make more than 50 requests this script required your OAuth token for GitHub. You can generate it on https://github.com/settings/applications') do |last|
@@ -51,6 +51,17 @@ class Parser
51
51
  exit
52
52
  end
53
53
 
54
+ if !options[:user] && !options[:project]
55
+ remote = `git remote -vv`.split("\n")
56
+ match = /.*(?:[:\/])(\w*)\/((?:-|\w)*)\.git.*/.match(remote[0])
57
+
58
+ if match[1] && match[2]
59
+ puts "Detected user:#{match[1]}, project:#{match[2]}"
60
+ options[:user], options[:project] = match[1], match[2]
61
+ end
62
+ end
63
+
64
+
54
65
  if !options[:user] || !options[:project]
55
66
  puts parser.banner
56
67
  exit
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_changelog_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Korolev