awesome_bot 1.13.3 → 1.13.4
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/CHANGELOG.md +5 -0
- data/README.md +5 -4
- data/bin/assets/test-dupe +2 -2
- data/lib/awesome_bot/cli.rb +7 -68
- data/lib/awesome_bot/version.rb +1 -1
- data/lib/awesome_bot/write.rb +74 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06365d94443a05ed03f115ef3d0b490cb512016e
|
4
|
+
data.tar.gz: e14ba8d9a8a55496d62c763ac18a32bfc1978ffd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a0705f7b850a4a0e1e6c90308b6e67b30d8b212ab2bb02c5c2aa530b7dd5b9719728e9e92c94bba2ec4f33815b26b9e53e6af689ecd272c8398edb3510cd0e1
|
7
|
+
data.tar.gz: 3a86393003437ac2d4e7c59b3fa3047b7714ca18876d74a4ea8ed43e2c8e4283ec30311eea995af656bba92df127c2a5b3bb03a4aeb16b55e1477fa2b28d1682
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -132,7 +132,10 @@ Does your GitHub README contain a lot of links? `awesome_bot` can help you valid
|
|
132
132
|
|
133
133
|
and [more](status/status.md).
|
134
134
|
|
135
|
-
|
135
|
+
Tips
|
136
|
+
|
137
|
+
- Use the keyword `[ci skip]` in your commit title/message to skip verification.
|
138
|
+
- Use [Danger](#danger).
|
136
139
|
|
137
140
|
### Travis CI
|
138
141
|
|
@@ -214,12 +217,10 @@ You can also add a badge for other CI tools, check out [shields.io](http://shiel
|
|
214
217
|
|
215
218
|
### Danger
|
216
219
|
|
217
|
-
|
220
|
+
Integrate `awesome_bot` with [Danger](https://github.com/danger/danger) and have results reported back to the [pull request](https://github.com/vsouza/awesome-ios/pull/1001)).
|
218
221
|
|
219
222
|

|
220
223
|
|
221
|
-
The above is from an actual [pull request](https://github.com/vsouza/awesome-ios/pull/1001).
|
222
|
-
|
223
224
|
Here's the step in your **Dangerfile**:
|
224
225
|
|
225
226
|
```ruby
|
data/bin/assets/test-dupe
CHANGED
data/lib/awesome_bot/cli.rb
CHANGED
@@ -2,11 +2,10 @@ require 'awesome_bot/check'
|
|
2
2
|
require 'awesome_bot/output'
|
3
3
|
require 'awesome_bot/result'
|
4
4
|
require 'awesome_bot/version'
|
5
|
+
require 'awesome_bot/write'
|
5
6
|
|
6
7
|
# Command line interface
|
7
8
|
module AwesomeBot
|
8
|
-
RESULTS_PREFIX = 'ab-results'
|
9
|
-
|
10
9
|
class << self
|
11
10
|
def cli()
|
12
11
|
require 'optparse'
|
@@ -132,8 +131,8 @@ module AwesomeBot
|
|
132
131
|
|
133
132
|
if r.success(options) == true
|
134
133
|
puts 'No issues :-)'
|
135
|
-
|
136
|
-
|
134
|
+
write_results(filename, r)
|
135
|
+
write_markdown_results(filename, nil)
|
137
136
|
return STATUS_OK
|
138
137
|
else
|
139
138
|
filtered_issues = []
|
@@ -174,7 +173,7 @@ module AwesomeBot
|
|
174
173
|
'link'=> url,
|
175
174
|
'error'=> error
|
176
175
|
}
|
177
|
-
filtered_issues.push hash
|
176
|
+
filtered_issues.push hash
|
178
177
|
|
179
178
|
print " #{pad_text index + 1, pad_list(r.dupes.uniq)}. "
|
180
179
|
print loc_formatted loc, largest
|
@@ -183,71 +182,11 @@ module AwesomeBot
|
|
183
182
|
end
|
184
183
|
end
|
185
184
|
|
186
|
-
|
187
|
-
filtered =
|
188
|
-
|
185
|
+
write_results(filename, r)
|
186
|
+
filtered = write_results_filtered(filename, filtered_issues)
|
187
|
+
write_markdown_results(filename, filtered)
|
189
188
|
return 'Issues'
|
190
189
|
end
|
191
190
|
end
|
192
|
-
|
193
|
-
def cli_write_results(f, r)
|
194
|
-
results_file_filter = f.gsub('/','-')
|
195
|
-
results_file = "#{RESULTS_PREFIX}-#{results_file_filter}.json"
|
196
|
-
r.write results_file
|
197
|
-
puts "\nWrote results to #{results_file}"
|
198
|
-
end
|
199
|
-
|
200
|
-
def cli_write_results_filtered(file, filtered)
|
201
|
-
require 'json'
|
202
|
-
results_file_filter = file.gsub('/','-')
|
203
|
-
results_file = "#{RESULTS_PREFIX}-#{results_file_filter}-filtered.json"
|
204
|
-
File.open(results_file, 'w') { |f| f.write JSON.pretty_generate(filtered) }
|
205
|
-
puts "Wrote filtered results to #{results_file}"
|
206
|
-
|
207
|
-
return results_file
|
208
|
-
end
|
209
|
-
|
210
|
-
def cli_write_markdown_results(filename, filtered)
|
211
|
-
payload =
|
212
|
-
if filtered.nil?
|
213
|
-
{'error'=>false}
|
214
|
-
else
|
215
|
-
title = 'Found links issues'
|
216
|
-
message = "#### Link issues by [`awesome_bot`](https://github.com/dkhamsing/awesome_bot)\n\n"
|
217
|
-
message << " Line | Status | Link\n"
|
218
|
-
message << "| ---: | :----: | --- |\n"
|
219
|
-
|
220
|
-
results = File.read filtered
|
221
|
-
require 'json'
|
222
|
-
j = JSON.parse results
|
223
|
-
j.sort_by { |h| h['loc'] }.each do |i|
|
224
|
-
error = i['error']
|
225
|
-
loc = i['loc']
|
226
|
-
link = i['link']
|
227
|
-
s = i['status']
|
228
|
-
r = i['redirect']
|
229
|
-
|
230
|
-
if error=='Dupe'
|
231
|
-
message << "#{loc} | Dupe | #{link} "
|
232
|
-
else
|
233
|
-
message << "#{loc} | [#{s}](https://httpstatuses.com/#{s}) | #{link} "
|
234
|
-
message << "<br> #{error}" unless error ==''
|
235
|
-
message << "redirects to<br>#{r}" unless r==''
|
236
|
-
end
|
237
|
-
message << "\n"
|
238
|
-
end
|
239
|
-
|
240
|
-
{
|
241
|
-
'error' => true,
|
242
|
-
'title' => title,
|
243
|
-
'message'=> message
|
244
|
-
}
|
245
|
-
end
|
246
|
-
|
247
|
-
results_file_filter = filename.gsub('/','-')
|
248
|
-
results_file = "#{RESULTS_PREFIX}-#{results_file_filter}-markdown-table.json"
|
249
|
-
File.open(results_file, 'w') { |f| f.write JSON.pretty_generate(payload) }
|
250
|
-
puts "Wrote markdown table results to #{results_file}"
|
251
|
-
end
|
252
191
|
end # class
|
253
192
|
end
|
data/lib/awesome_bot/version.rb
CHANGED
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
# Command line interface
|
4
|
+
module AwesomeBot
|
5
|
+
RESULTS_PREFIX = 'ab-results'
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def filter_filename(f)
|
9
|
+
f.gsub('/','-')
|
10
|
+
end
|
11
|
+
|
12
|
+
def write_markdown_results(filename, filtered)
|
13
|
+
payload =
|
14
|
+
if filtered.nil?
|
15
|
+
{'error'=>false}
|
16
|
+
else
|
17
|
+
results = File.read filtered
|
18
|
+
j = JSON.parse results
|
19
|
+
|
20
|
+
num = j.count
|
21
|
+
plural = num==1?'':'s'
|
22
|
+
title = "Found #{num} link issue#{plural}"
|
23
|
+
message = "#### Link issue#{plural} by [`awesome_bot`](https://github.com/dkhamsing/awesome_bot)\n\n"
|
24
|
+
message << " Line | Status | Link\n"
|
25
|
+
message << "| ---: | :----: | --- |\n"
|
26
|
+
|
27
|
+
j.sort_by { |h| h['loc'] }.each do |i|
|
28
|
+
error = i['error']
|
29
|
+
loc = i['loc']
|
30
|
+
link = i['link']
|
31
|
+
s = i['status']
|
32
|
+
r = i['redirect']
|
33
|
+
|
34
|
+
if error=='Dupe'
|
35
|
+
message << "#{loc} | Dupe | #{link} "
|
36
|
+
else
|
37
|
+
status = s==-1? 'Error' : "[#{s}](https://httpstatuses.com/#{s})"
|
38
|
+
message << "#{loc} | #{status} | #{link} "
|
39
|
+
message << "<br> #{error}" unless error ==''
|
40
|
+
message << "redirects to<br>#{r}" unless r==''
|
41
|
+
end
|
42
|
+
message << "\n"
|
43
|
+
end
|
44
|
+
|
45
|
+
{
|
46
|
+
'error' => true,
|
47
|
+
'title' => title,
|
48
|
+
'message'=> message
|
49
|
+
}
|
50
|
+
end
|
51
|
+
|
52
|
+
results_file_filter = filter_filename filename
|
53
|
+
results_file = "#{RESULTS_PREFIX}-#{results_file_filter}-markdown-table.json"
|
54
|
+
File.open(results_file, 'w') { |f| f.write JSON.pretty_generate(payload) }
|
55
|
+
puts "Wrote markdown table results to #{results_file}"
|
56
|
+
end
|
57
|
+
|
58
|
+
def write_results(f, r)
|
59
|
+
results_file_filter = filter_filename f
|
60
|
+
results_file = "#{RESULTS_PREFIX}-#{results_file_filter}.json"
|
61
|
+
r.write results_file
|
62
|
+
puts "\nWrote results to #{results_file}"
|
63
|
+
end
|
64
|
+
|
65
|
+
def write_results_filtered(file, filtered)
|
66
|
+
results_file_filter = filter_filename file
|
67
|
+
results_file = "#{RESULTS_PREFIX}-#{results_file_filter}-filtered.json"
|
68
|
+
File.open(results_file, 'w') { |f| f.write JSON.pretty_generate(filtered) }
|
69
|
+
puts "Wrote filtered results to #{results_file}"
|
70
|
+
|
71
|
+
return results_file
|
72
|
+
end
|
73
|
+
end # class
|
74
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awesome_bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.13.
|
4
|
+
version: 1.13.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Khamsing
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel
|
@@ -67,6 +67,7 @@ files:
|
|
67
67
|
- lib/awesome_bot/result.rb
|
68
68
|
- lib/awesome_bot/version.rb
|
69
69
|
- lib/awesome_bot/white_list.rb
|
70
|
+
- lib/awesome_bot/write.rb
|
70
71
|
- status/README.md
|
71
72
|
- status/list-circle-ci
|
72
73
|
- status/list-travis-ci
|