awesome_bot 1.8.1 → 1.8.2

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: 60ade84e7c925224c447476c2dff8ca5a1c9a70b
4
- data.tar.gz: 3bfaeb0385871cc68c077bdda4b400bd9cabc368
3
+ metadata.gz: 726c07e82daf1459a589dba86f8bf8bd90d79adc
4
+ data.tar.gz: f4ce4fe61e18889120e8bca78dea385d7881c0d7
5
5
  SHA512:
6
- metadata.gz: 221cfd97f2fb670eee8ff712a129192a020a094bf2d67f9bb15c217de50b7f0aec8e1f5b1097bdca480f9315b49229f2eef1a1707abd149f803177a3034772a7
7
- data.tar.gz: 9d1d26c95e0aeaa8f4f4c8b8ffc1c15b9678372c605dc4429a13b46c80ed70404b7ceafe19e54d31057d2222d9f1316a753383d21595d09a0e0f2414e727bafd
6
+ metadata.gz: 54ac1ad22e1fad497656b06f3e475d609b445dd3e6a8618c922d6b754b166ba8b5f8dec5e499ae6c911b2c087fa038ca7f2ed3e282e0504533cd09fd17d1a2d6
7
+ data.tar.gz: 93aad832332a41e5c6f2e44c9b700d92a663bcce477d3134edb0d9dc7f1b0efc180f5fd60c45accbf8bf1ebdf9e686a4d77210a7b27a16267447ff7be0aa5d37
data/.gitignore CHANGED
@@ -33,3 +33,5 @@ Gemfile.lock
33
33
 
34
34
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
35
35
  .rvmrc
36
+
37
+ results.json
@@ -2,11 +2,18 @@
2
2
 
3
3
  Changes by [Daniel Khamsing][] unless otherwise noted.
4
4
 
5
+ # 1.8.2
6
+
7
+ - [output] add link line number for dupes
8
+ - [fix] output line of link default value, reported by [Julien Bisconti][]
9
+ - write `json` results file
10
+ - isolate and cleanup
11
+
5
12
  # 1.8.1
6
13
 
7
14
  - [output] show link line number, suggested by [Daniel Gomez Rico](https://github.com/danielgomezrico)
8
15
  - [output] improve enumeration with padding
9
- - set default open link timeout to 30 seconds
16
+ - set default open link timeout to 30 seconds
10
17
 
11
18
  # 1.8.0
12
19
 
@@ -50,7 +57,7 @@ Changes by [Daniel Khamsing][] unless otherwise noted.
50
57
 
51
58
  # 1.3.2
52
59
 
53
- - [fix] another error with `)` in link parsing, reported by [Julien Bisconti](https://github.com/veggiemonk)
60
+ - [fix] another error with `)` in link parsing, reported by [Julien Bisconti][]
54
61
 
55
62
  # 1.3.1
56
63
 
@@ -100,4 +107,5 @@ Changes by [Daniel Khamsing][] unless otherwise noted.
100
107
 
101
108
  [Daniel Khamsing]:https://github.com/dkhamsing
102
109
  [Colby M. White]:https://github.com/colbywhite
110
+ [Julien Bisconti]:https://github.com/veggiemonk
103
111
  [R.I. Pienaar]:https://github.com/ripienaar
data/Gemfile CHANGED
@@ -2,3 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
  gem 'rspec_junit_formatter', '0.2.2' # test meta data / ci
5
+ gem 'rspec', '~> 3.4.0' # tests'
data/README.md CHANGED
@@ -45,34 +45,33 @@ Links found: 56, 37 unique
45
45
  37. https://github.com/dkhamsing
46
46
  Checking URLs: ✓✓✓→?✓→✓→→✓✓→✓✓✓→✓✓✓✓✓✓✓✓✓✓✓→✓✓✓✓✓→✓✓
47
47
 
48
- Issues :-(
49
- > Links
50
- 1. [L007] 301 https://travis-ci.org/dkhamsing/awesome_bot.svg → https://api.travis-ci.org/dkhamsing/awesome_bot.svg
51
- 2. [L008] 302 https://badge.fury.io/rb/awesome_bot → http://rubygems.org/gems/awesome_bot
48
+ Issues :-(
49
+ > Links
50
+ 1. [L007] 301 https://travis-ci.org/dkhamsing/awesome_bot.svg → https://api.travis-ci.org/dkhamsing/awesome_bot.svg
51
+ 2. [L008] 302 https://badge.fury.io/rb/awesome_bot → http://rubygems.org/gems/awesome_bot
52
52
  # ...
53
- > Dupes
54
- 1. https://github.com/sindresorhus/awesome
55
- 2. http://i.giphy.com/urvsFBDfR6N32.gif
53
+ > Dupes
54
+ 1. [L03] https://github.com/sindresorhus/awesome
55
+ 2. [L05] http://i.giphy.com/urvsFBDfR6N32.gif
56
56
  # ...
57
57
  ```
58
58
 
59
59
  ```shell
60
- $ awesome_bot README.md --allow-dupe --white-list travis,badge,rubydoc,rubygems,giphy,gph
60
+ $ awesome_bot README.md --allow-dupe --allow-redirect --white-list rubydoc,giphy
61
61
  > Checking links in README.md
62
+ > Will allow redirects
62
63
  > Will allow duplicate links
63
- > White list links matching: travis, badge, rubydoc, rubygems, giphy, gph
64
- Links to check: 21, 27 white listed, 16 unique
64
+ > White list links matching: rubydoc, giphy
65
+ Links to check: 41, 5 white listed, 29 unique
65
66
  01. https://github.com/sindresorhus/awesome
66
- 02. https://circleci.com/gh/dkhamsing/awesome_bot
67
- 03. https://github.com/dkhamsing
67
+ 02. https://travis-ci.org/dkhamsing/awesome_bot.svg
68
68
  # ...
69
- Checking URLs: ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓
70
- Checking white listed URLs: ✓✓✓→→?✓→→✓→✓→✓→✓→✓
69
+ Checking URLs: ✓✓→✓✓→→→✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓→✓✓✓→✓
70
+ Checking white listed URLs: ?✓
71
71
 
72
72
  > White listed:
73
- 01. [L005] 200 http://i.giphy.com/urvsFBDfR6N32.gif
74
- 02. [L007] 200 https://img.shields.io/badge/tests-circle%20ci-brightgreen.svg
75
- # ...
73
+ 1. [L005] 200 http://i.giphy.com/urvsFBDfR6N32.gif
74
+ 2. [L093] 202 http://www.rubydoc.info/gems/awesome_bot
76
75
  No issues :-)
77
76
  ```
78
77
 
@@ -20,8 +20,6 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
 
22
22
  spec.required_ruby_version = '>= 2.0.0'
23
-
24
- spec.add_runtime_dependency 'parallel', '~> 1.6.1' # threading
25
23
 
26
- spec.add_development_dependency 'rspec', '~> 3.4.0' # tests'
24
+ spec.add_runtime_dependency 'parallel', '~> 1.6.1' # threading
27
25
  end
data/circle.yml CHANGED
@@ -1,3 +1,6 @@
1
1
  machine:
2
2
  ruby:
3
3
  version: 2.2.0
4
+ test:
5
+ override:
6
+ - bundle exec rspec -fd -r rspec_junit_formatter --format RspecJunitFormatter -o $CIRCLE_TEST_REPORTS/rspec/junit.xml
@@ -1,5 +1,5 @@
1
1
  require 'awesome_bot/links'
2
- require 'awesome_bot/log'
2
+ require 'awesome_bot/output'
3
3
  require 'awesome_bot/result'
4
4
  require 'awesome_bot/statuses'
5
5
 
@@ -7,25 +7,8 @@ require 'awesome_bot/statuses'
7
7
  module AwesomeBot
8
8
  NUMBER_OF_THREADS = 10
9
9
 
10
- STATUS_OK = '✓'
11
- STATUS_OTHER = '?'
12
- STATUS_400s = 'x'
13
- STATUS_REDIRECT = '→'
14
-
15
10
  class << self
16
- def log_status(s, log)
17
- if status_is_redirected? s
18
- log.addp STATUS_REDIRECT
19
- elsif s == 200
20
- log.addp STATUS_OK
21
- elsif (s > 399 && s < 500)
22
- log.addp STATUS_400s
23
- else
24
- log.addp STATUS_OTHER
25
- end
26
- end
27
-
28
- def check(content, options=nil, log = Log.new)
11
+ def check(content, options=nil)
29
12
  if options.nil?
30
13
  white_listed = nil
31
14
  skip_dupe = false
@@ -36,42 +19,43 @@ module AwesomeBot
36
19
  timeout = options['timeout']
37
20
  end
38
21
 
39
- log.add '> Will allow duplicate links' if skip_dupe
22
+ yield "> Will allow duplicate links \n" if skip_dupe && block_given?
40
23
 
41
24
  temp = links_filter(links_find(content))
42
25
 
43
26
  r = Result.new(temp, white_listed)
44
27
  r.skip_dupe = skip_dupe
45
28
 
46
- log.add "> White list links matching: #{white_listed.join ', '}" if r.white_listing
29
+ yield "> White list links matching: #{white_listed.join ', '} \n" if r.white_listing && block_given?
47
30
 
48
31
  r.dupes = r.links.select { |e| r.links.count(e) > 1 }
49
32
 
50
- log.addp "Links to check: #{r.links.count}"
51
- log.addp ", #{r.links_white_listed.count} white listed" if r.white_listing
33
+ yield "Links to check: #{r.links.count}" if block_given?
34
+ yield ", #{r.links_white_listed.count} white listed" if r.white_listing && block_given?
52
35
  uniq = r.links.uniq.count
53
- log.addp ", #{uniq} unique" if uniq != r.links.count
54
- log.add ''
36
+
37
+ yield ", #{uniq} unique" if uniq != r.links.count && block_given?
38
+ yield "\n" if block_given?
39
+ total = pad_list r.links.uniq
55
40
  r.links.uniq.each_with_index do |u, j|
56
- format = "%0#{r.links.uniq.count.to_s.size}d"
57
- log.add " #{sprintf format, j + 1}. #{u}"
41
+ yield " #{pad_text j + 1, total}. #{u} \n" if block_given?
58
42
  end
59
43
 
60
- log.addp 'Checking URLs: ' if r.links.count > 0
44
+ yield 'Checking URLs: ' if block_given? && r.links.count > 0
61
45
  r.status =
62
46
  statuses(r.links.uniq, NUMBER_OF_THREADS, timeout) do |s|
63
- log_status s, log
47
+ yield log_status s if block_given?
64
48
  end
65
- log.add ''
49
+ yield "\n" if block_given?
66
50
 
67
51
  return r if !r.white_listing || (r.links_white_listed.count == 0)
68
52
 
69
- log.addp 'Checking white listed URLs: '
53
+ yield 'Checking white listed URLs: ' if block_given?
70
54
  r.white_listed =
71
55
  statuses(r.links_white_listed.uniq, NUMBER_OF_THREADS, nil) do |s|
72
- log_status s, log
56
+ yield log_status s if block_given?
73
57
  end
74
- log.add ''
58
+ yield "\n" if block_given?
75
59
 
76
60
  r
77
61
  end # check
@@ -1,5 +1,5 @@
1
1
  require 'awesome_bot/check'
2
- require 'awesome_bot/log'
2
+ require 'awesome_bot/output'
3
3
  require 'awesome_bot/result'
4
4
  require 'awesome_bot/statuses'
5
5
  require 'awesome_bot/version'
@@ -12,6 +12,8 @@ module AwesomeBot
12
12
  OPTION_TIMEOUT_SET = 'set-timeout'
13
13
  OPTION_WHITE_LIST = 'white-list'
14
14
 
15
+ RESULTS_FILE = 'results.json'
16
+
15
17
  USAGE = "\t"
16
18
 
17
19
  class << self
@@ -19,53 +21,12 @@ module AwesomeBot
19
21
  "--#{o}"
20
22
  end
21
23
 
22
- def loc_formatted(loc, largest=3)
23
- format = "%0#{largest}d"
24
- line = "#{sprintf format, loc}"
25
- "[L#{line}] "
26
- end
27
-
28
- def loc(x, content)
29
- count = 0
30
- lines = content.split "\n"
31
- lines.each do |l|
32
- count += 1
33
- return count if l.include? x
34
- end
35
- end
36
-
37
- def number_of_digits(content)
38
- lines = content.split "\n"
39
- return lines.count.to_s.size
40
- end
41
-
42
- def order_by_loc(list, content)
43
- list.each do |x|
44
- x['loc'] = loc x['url'], content
45
- end
46
-
47
- s = list.sort_by { |h| h['loc'] }
48
- return s
49
- end
50
-
51
- def output(x, k, total, largest)
52
- format = "%0#{total}d"
53
- print " #{sprintf format, k + 1}. "
54
- s = x['status']
55
- print loc_formatted x['loc'], largest
56
- print "#{s} " unless s== STATUS_ERROR
57
- print "#{x['url']}"
58
- print " #{x['error']}" if s == STATUS_ERROR
59
- print " #{STATUS_REDIRECT} #{x['headers']['location']}" if status_is_redirected? s
60
- puts ''
61
- end
62
-
63
24
  def cli
64
- option_d = make_option OPTION_DUPE
65
- option_r = make_option OPTION_REDIRECT
66
- option_t = make_option OPTION_TIMEOUT_SET
25
+ option_d = make_option OPTION_DUPE
26
+ option_r = make_option OPTION_REDIRECT
27
+ option_t = make_option OPTION_TIMEOUT_SET
67
28
  option_t_a = make_option OPTION_TIMEOUT_ALLOW
68
- option_w = make_option OPTION_WHITE_LIST
29
+ option_w = make_option OPTION_WHITE_LIST
69
30
 
70
31
  options = [
71
32
  option_d,
@@ -141,27 +102,27 @@ module AwesomeBot
141
102
  allow_timeouts = false
142
103
  end
143
104
 
144
- log = Log.new(true)
145
-
146
105
  options = {
147
106
  'whitelist' => white_listed,
148
107
  'allowdupe' => skip_dupe,
149
108
  'timeout' => timeout
150
109
  }
151
- r = check(content, options, log)
110
+ r = check content, options do |o|
111
+ print o
112
+ end
152
113
 
153
114
  digits = number_of_digits content
154
115
  unless r.white_listed.nil?
155
116
  puts "\n> White listed:"
156
117
  o = order_by_loc r.white_listed, content
157
118
  o.each_with_index do |x, k|
158
- output x, k, o.count.to_s.size, digits
119
+ puts output x, k, pad_list(o), digits
159
120
  end
160
121
  end
161
122
 
162
123
  if r.success(allow_redirects, allow_timeouts) == true
163
124
  puts 'No issues :-)'
164
- # exit ?
125
+ r.write RESULTS_FILE
165
126
  else
166
127
  puts "\nIssues :-("
167
128
 
@@ -171,7 +132,7 @@ module AwesomeBot
171
132
  else
172
133
  o = order_by_loc r.statuses_issues(allow_redirects, allow_timeouts), content
173
134
  o.each_with_index do |x, k|
174
- output x, k, o.count.to_s.size, digits
135
+ puts output x, k, pad_list(o), digits
175
136
  end
176
137
  end
177
138
 
@@ -180,10 +141,26 @@ module AwesomeBot
180
141
  if r.success_dupe
181
142
  puts " None #{STATUS_OK}"
182
143
  else
183
- r.dupes.uniq.each_with_index { |d, m| puts " #{m + 1}. #{d}" }
144
+ dupe_hash = r.dupes.uniq.map do |x|
145
+ temp = {}
146
+ temp['url'] = x
147
+ temp
148
+ end
149
+ o = order_by_loc dupe_hash, content
150
+ largest = o.last['loc'].to_s.size
151
+ o.each_with_index do |d, index|
152
+ print " #{pad_text index + 1, pad_list(r.dupes.uniq)}. "
153
+ url = d['url']
154
+ print loc_formatted d['loc'], largest
155
+ puts " #{url}"
156
+ end
184
157
  end
185
158
  end
186
159
 
160
+ # write results json
161
+ r.write RESULTS_FILE
162
+ puts "\nWrote results to #{RESULTS_FILE}"
163
+
187
164
  exit 1
188
165
  end
189
166
  end
@@ -1,7 +1,5 @@
1
1
  # Get and filter links
2
2
  module AwesomeBot
3
- require 'uri'
4
-
5
3
  class << self
6
4
  def links_filter(list)
7
5
  list.reject { |x| x.length < 9 }
@@ -17,6 +15,8 @@ module AwesomeBot
17
15
  x.gsub(/\).*/, '')
18
16
  elsif x.include? '[' # adoc
19
17
  x.gsub(/\[.*/, '')
18
+ elsif x[-1]=='.'
19
+ x[0..-2]
20
20
  else
21
21
  x
22
22
  end
@@ -24,6 +24,7 @@ module AwesomeBot
24
24
  end
25
25
 
26
26
  def links_find(content)
27
+ require 'uri'
27
28
  URI.extract(content, /http()s?/)
28
29
  end
29
30
  end # class
@@ -0,0 +1,78 @@
1
+ # Output helpers
2
+ module AwesomeBot
3
+ STATUS_OK = '✓'
4
+ STATUS_OTHER = '?'
5
+ STATUS_400s = 'x'
6
+ STATUS_REDIRECT = '→'
7
+
8
+ class << self
9
+ def loc(x, content)
10
+ count = 0
11
+ lines = content.split "\n"
12
+ lines.each do |l|
13
+ count += 1
14
+ return count if l.include? x
15
+ end
16
+ return count
17
+ end
18
+
19
+ def loc_formatted(loc, largest=3)
20
+ line = pad_text loc, largest
21
+ "[L#{line}]"
22
+ end
23
+
24
+ def log_status(s)
25
+ if status_is_redirected? s
26
+ return STATUS_REDIRECT
27
+ elsif s == 200
28
+ return STATUS_OK
29
+ elsif (s > 399 && s < 500)
30
+ return STATUS_400s
31
+ else
32
+ return STATUS_OTHER
33
+ end
34
+ end
35
+
36
+ def number_of_digits(content)
37
+ lines = content.split "\n"
38
+ return pad_list lines
39
+ end
40
+
41
+ def order_by_loc(list, content)
42
+ list.each do |x|
43
+ x['loc'] = loc x['url'], content
44
+ end
45
+
46
+ s = list.sort_by { |h| h['loc'] }
47
+ return s
48
+ end
49
+
50
+ def output(x, index, total, largest)
51
+ s = x['status']
52
+
53
+ " #{pad_text index + 1, total}. " \
54
+ "#{loc_formatted x['loc'], largest} " \
55
+ "#{s == STATUS_ERROR ? '' : s} " \
56
+ "#{x['url']} " \
57
+ "#{s == STATUS_ERROR ? x['error'] : ''}" \
58
+ "#{output_redirect x} \n"
59
+ end
60
+
61
+ def output_redirect(x)
62
+ if status_is_redirected? x['status']
63
+ " #{STATUS_REDIRECT} #{x['headers']['location']}"
64
+ else
65
+ ''
66
+ end
67
+ end
68
+
69
+ def pad_list(list)
70
+ list.count.to_s.size
71
+ end
72
+
73
+ def pad_text(number, digits)
74
+ format = "%0#{digits}d"
75
+ "#{sprintf format, number}"
76
+ end
77
+ end # class
78
+ end
@@ -58,5 +58,21 @@ module AwesomeBot
58
58
  def white_listing
59
59
  !@w.nil?
60
60
  end
61
+
62
+ def write(filename)
63
+ require 'json'
64
+
65
+ r = write_artifacts
66
+ File.open(filename, 'w') { |f| f.write r.to_json }
67
+ end
68
+
69
+ def write_artifacts
70
+ require 'date'
71
+ {
72
+ 'date'=>Time.now,
73
+ 'links'=>@links,
74
+ 'results'=>statuses_issues
75
+ }
76
+ end
61
77
  end # class
62
78
  end
@@ -1,20 +1,24 @@
1
1
  # Get link status
2
2
  module AwesomeBot
3
- require 'net/http'
4
- require 'openssl'
5
- require 'uri'
6
-
7
- require 'parallel'
8
-
9
3
  STATUS_ERROR = -1
10
4
 
11
5
  class << self
12
- def net_status(url, head, timeout=30)
6
+ def net_status(url, timeout=30)
7
+ require 'net/http'
8
+ require 'openssl'
9
+ require 'uri'
10
+
13
11
  uri = URI.parse url
14
12
  Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https', :open_timeout => timeout) do |http|
15
13
  request = Net::HTTP::Get.new uri
16
14
  response = http.request request
17
- return response
15
+
16
+ code = response.code==nil ? 200 : response.code.to_i
17
+
18
+ headers = {}
19
+ response.each { |k, v| headers[k] = v }
20
+
21
+ return [code, headers]
18
22
  end
19
23
  end
20
24
 
@@ -22,14 +26,13 @@ module AwesomeBot
22
26
  (status > 299) && (status < 400)
23
27
  end
24
28
 
25
- def statuses(links, threads, timeout, head=false)
29
+ def statuses(links, threads, timeout)
30
+ require 'parallel'
31
+
26
32
  statuses = []
27
33
  Parallel.each(links, in_threads: threads) do |u|
28
34
  begin
29
- response = net_status u, head, timeout
30
- status = response.code==nil ? 200 : response.code.to_i
31
- headers = {}
32
- response.each { |k, v| headers[k] = v }
35
+ status, headers = net_status u, timeout
33
36
  error = nil # nil (success)
34
37
  rescue => e
35
38
  status = STATUS_ERROR
@@ -37,7 +40,7 @@ module AwesomeBot
37
40
  error = e
38
41
  end
39
42
 
40
- yield status, u
43
+ yield status, u if block_given?
41
44
  statuses.push('url' => u, 'status' => status, 'error' => error, 'headers' => headers)
42
45
  end # Parallel
43
46
 
@@ -5,5 +5,5 @@ module AwesomeBot
5
5
  'Great for "awesome" projects.'
6
6
  PROJECT_URL = 'https://github.com/dkhamsing/awesome_bot'
7
7
 
8
- VERSION = '1.8.1'
8
+ VERSION = '1.8.2'
9
9
  end
@@ -3,8 +3,8 @@ tiimgreen/github-cheat-sheet
3
3
  enaqx/awesome-react
4
4
  ziadoz/awesome-php
5
5
  vsouza/awesome-ios
6
- cjwirth/awesome-ios-ui
7
6
  matteocrippa/awesome-swift
7
+ cjwirth/awesome-ios-ui
8
8
  herrbischoff/awesome-osx-command-line
9
9
  alebcay/awesome-shell
10
10
  wsargent/docker-cheat-sheet
@@ -16,72 +16,75 @@ rosarior/awesome-django
16
16
  n1trux/awesome-sysadmin
17
17
  pcqpcq/open-source-android-apps
18
18
  veggiemonk/awesome-docker
19
- willianjusten/awesome-svg
20
19
  ellisonleao/magictools
20
+ willianjusten/awesome-svg
21
21
  dhamaniasad/awesome-postgres
22
- JStumpp/awesome-android
23
22
  humiaozuzu/awesome-flask
23
+ JStumpp/awesome-android
24
24
  dariubs/GoBooks
25
25
  unixorn/awesome-zsh-plugins
26
+ chentsulin/awesome-graphql
26
27
  arslanbilal/git-cheat-sheet
27
28
  dahlia/awesome-sqlalchemy
28
- chentsulin/awesome-graphql
29
29
  webpro/awesome-dotfiles
30
30
  ashishb/android-security-awesome
31
31
  rshipp/awesome-malware-analysis
32
32
  mfornos/awesome-microservices
33
33
  lerrua/remote-jobs-brazil
34
34
  sitepoint/awesome-symfony
35
+ isRuslan/awesome-elm
35
36
  watson/awesome-computer-history
36
37
  wbinnssmith/awesome-promises
37
- isRuslan/awesome-elm
38
38
  dotfiles/dotfiles.github.com
39
39
  diegocard/awesome-html5
40
40
  stefanbuck/awesome-browser-extensions-for-github
41
41
  fasouto/awesome-dataviz
42
- RichardLitt/awesome-conferences
43
42
  sotayamashita/awesome-css
44
- FriendsOfCake/awesome-cakephp
43
+ RichardLitt/awesome-conferences
45
44
  uraimo/Awesome-Swift-Playgrounds
45
+ FriendsOfCake/awesome-cakephp
46
46
  caesar0301/awesome-pcaptools
47
47
  matteofigus/awesome-speaking
48
48
  matiassingers/awesome-readme
49
49
  najela/discount-for-student-dev
50
50
  afonsopacifer/awesome-flexbox
51
- burningtree/awesome-json
52
51
  JavaBy/awesome-kotlin
52
+ burningtree/awesome-json
53
53
  vredniy/awesome-newsletters
54
54
  vredniy/awesome-newsletters
55
55
  uralbash/awesome-pyramid
56
56
  ahkscript/awesome-AutoHotkey
57
- HQarroum/awesome-iot
58
57
  aleksandar-todorovic/awesome-c
58
+ HQarroum/awesome-iot
59
59
  phillipadsmith/awesome-github
60
- iJackUA/awesome-vagrant
61
60
  sergeyklay/awesome-phalcon
62
- yenchenlin1994/awesome-watchos
61
+ iJackUA/awesome-vagrant
63
62
  ipfs/awesome-ipfs
63
+ yenchenlin1994/awesome-watchos
64
+ MakinGiants/awesome-mobile-dev
65
+ MakinGiants/awesome-mobile-dev
64
66
  notthetup/awesome-webaudio
67
+ ramitsurana/awesome-kubernetes
68
+ fisherman/awesome-fish
65
69
  deanhume/typography
66
- MakinGiants/awesome-mobile-dev
67
- filipelinhares/awesome-slack
68
70
  lnishan/awesome-competitive-programming
69
- ramitsurana/awesome-kubernetes
71
+ filipelinhares/awesome-slack
70
72
  brunopulis/awesome-a11y
71
73
  brabadu/awesome-fonts
72
74
  vinkla/awesome-fuse
75
+ benoitjadinon/awesome-xamarin
73
76
  christian-bromann/awesome-selenium
74
- unixorn/git-extra-commands
75
77
  mark-rushakoff/awesome-influxdb
76
- benoitjadinon/awesome-xamarin
78
+ unixorn/git-extra-commands
77
79
  RichardLitt/endangered-languages
78
- vkarampinis/awesome-icons
79
80
  Neueda4j/awesome-neo4j
81
+ vkarampinis/awesome-icons
80
82
  rabbiabram/awesome-fortran
81
83
  tedyoung/awesome-java8
82
84
  yangshun/awesome-spinners
83
- wfhio/awesome-job-boards
84
85
  joubertredrat/awesome-devops
86
+ wfhio/awesome-job-boards
85
87
  ipfs/weekly
88
+ jjaderg/awesome-postcss
86
89
  stve/awesome-dropwizard
87
90
  ramitsurana/awesome-openstack
@@ -1,6 +1,6 @@
1
1
  # Awesome Status
2
2
 
3
- Build status for **89** projects using https://github.com/dkhamsing/awesome_bot
3
+ Build status for **91** projects using https://github.com/dkhamsing/awesome_bot
4
4
 
5
5
  Status | Config | Repo
6
6
  --- | --- | ---
@@ -9,8 +9,8 @@ Status | Config | Repo
9
9
  [![Build Status](https://travis-ci.org/enaqx/awesome-react.svg)](https://travis-ci.org/enaqx/awesome-react) | [`config`](https://github.com/enaqx/awesome-react/blob/master/.travis.yml) | [enaqx/awesome-react](https://github.com/enaqx/awesome-react)
10
10
  [![Build Status](https://travis-ci.org/ziadoz/awesome-php.svg)](https://travis-ci.org/ziadoz/awesome-php) | [`config`](https://github.com/ziadoz/awesome-php/blob/master/.travis.yml) | [ziadoz/awesome-php](https://github.com/ziadoz/awesome-php)
11
11
  [![Build Status](https://travis-ci.org/vsouza/awesome-ios.svg)](https://travis-ci.org/vsouza/awesome-ios) | [`config`](https://github.com/vsouza/awesome-ios/blob/master/.travis.yml) | [vsouza/awesome-ios](https://github.com/vsouza/awesome-ios)
12
- [![Build Status](https://travis-ci.org/cjwirth/awesome-ios-ui.svg)](https://travis-ci.org/cjwirth/awesome-ios-ui) | [`config`](https://github.com/cjwirth/awesome-ios-ui/blob/master/.travis.yml) | [cjwirth/awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui)
13
12
  [![Build Status](https://travis-ci.org/matteocrippa/awesome-swift.svg)](https://travis-ci.org/matteocrippa/awesome-swift) | [`config`](https://github.com/matteocrippa/awesome-swift/blob/master/.travis.yml) | [matteocrippa/awesome-swift](https://github.com/matteocrippa/awesome-swift)
13
+ [![Build Status](https://travis-ci.org/cjwirth/awesome-ios-ui.svg)](https://travis-ci.org/cjwirth/awesome-ios-ui) | [`config`](https://github.com/cjwirth/awesome-ios-ui/blob/master/.travis.yml) | [cjwirth/awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui)
14
14
  [![Build Status](https://travis-ci.org/herrbischoff/awesome-osx-command-line.svg)](https://travis-ci.org/herrbischoff/awesome-osx-command-line) | [`config`](https://github.com/herrbischoff/awesome-osx-command-line/blob/master/.travis.yml) | [herrbischoff/awesome-osx-command-line](https://github.com/herrbischoff/awesome-osx-command-line)
15
15
  [![Build Status](https://travis-ci.org/alebcay/awesome-shell.svg)](https://travis-ci.org/alebcay/awesome-shell) | [`config`](https://github.com/alebcay/awesome-shell/blob/master/.travis.yml) | [alebcay/awesome-shell](https://github.com/alebcay/awesome-shell)
16
16
  [![Build Status](https://travis-ci.org/wsargent/docker-cheat-sheet.svg)](https://travis-ci.org/wsargent/docker-cheat-sheet) | [`config`](https://github.com/wsargent/docker-cheat-sheet/blob/master/.travis.yml) | [wsargent/docker-cheat-sheet](https://github.com/wsargent/docker-cheat-sheet)
@@ -22,74 +22,76 @@ Status | Config | Repo
22
22
  [![Build Status](https://travis-ci.org/n1trux/awesome-sysadmin.svg)](https://travis-ci.org/n1trux/awesome-sysadmin) | [`config`](https://github.com/n1trux/awesome-sysadmin/blob/master/.travis.yml) | [n1trux/awesome-sysadmin](https://github.com/n1trux/awesome-sysadmin)
23
23
  [![Build Status](https://travis-ci.org/pcqpcq/open-source-android-apps.svg)](https://travis-ci.org/pcqpcq/open-source-android-apps) | [`config`](https://github.com/pcqpcq/open-source-android-apps/blob/master/.travis.yml) | [pcqpcq/open-source-android-apps](https://github.com/pcqpcq/open-source-android-apps)
24
24
  [![Build Status](https://travis-ci.org/veggiemonk/awesome-docker.svg)](https://travis-ci.org/veggiemonk/awesome-docker) | [`config`](https://github.com/veggiemonk/awesome-docker/blob/master/.travis.yml) | [veggiemonk/awesome-docker](https://github.com/veggiemonk/awesome-docker)
25
- [![Build Status](https://travis-ci.org/willianjusten/awesome-svg.svg)](https://travis-ci.org/willianjusten/awesome-svg) | [`config`](https://github.com/willianjusten/awesome-svg/blob/master/.travis.yml) | [willianjusten/awesome-svg](https://github.com/willianjusten/awesome-svg)
26
25
  [![Build Status](https://travis-ci.org/ellisonleao/magictools.svg)](https://travis-ci.org/ellisonleao/magictools) | [`config`](https://github.com/ellisonleao/magictools/blob/master/.travis.yml) | [ellisonleao/magictools](https://github.com/ellisonleao/magictools)
26
+ [![Build Status](https://travis-ci.org/willianjusten/awesome-svg.svg)](https://travis-ci.org/willianjusten/awesome-svg) | [`config`](https://github.com/willianjusten/awesome-svg/blob/master/.travis.yml) | [willianjusten/awesome-svg](https://github.com/willianjusten/awesome-svg)
27
27
  [![Build Status](https://travis-ci.org/dhamaniasad/awesome-postgres.svg)](https://travis-ci.org/dhamaniasad/awesome-postgres) | [`config`](https://github.com/dhamaniasad/awesome-postgres/blob/master/.travis.yml) | [dhamaniasad/awesome-postgres](https://github.com/dhamaniasad/awesome-postgres)
28
- [![Build Status](https://travis-ci.org/JStumpp/awesome-android.svg)](https://travis-ci.org/JStumpp/awesome-android) | [`config`](https://github.com/JStumpp/awesome-android/blob/master/.travis.yml) | [JStumpp/awesome-android](https://github.com/JStumpp/awesome-android)
29
28
  [![Build Status](https://travis-ci.org/humiaozuzu/awesome-flask.svg)](https://travis-ci.org/humiaozuzu/awesome-flask) | [`config`](https://github.com/humiaozuzu/awesome-flask/blob/master/.travis.yml) | [humiaozuzu/awesome-flask](https://github.com/humiaozuzu/awesome-flask)
29
+ [![Build Status](https://travis-ci.org/JStumpp/awesome-android.svg)](https://travis-ci.org/JStumpp/awesome-android) | [`config`](https://github.com/JStumpp/awesome-android/blob/master/.travis.yml) | [JStumpp/awesome-android](https://github.com/JStumpp/awesome-android)
30
30
  [![Build Status](https://travis-ci.org/dariubs/GoBooks.svg)](https://travis-ci.org/dariubs/GoBooks) | [`config`](https://github.com/dariubs/GoBooks/blob/master/.travis.yml) | [dariubs/GoBooks](https://github.com/dariubs/GoBooks)
31
31
  [![Build Status](https://travis-ci.org/unixorn/awesome-zsh-plugins.svg)](https://travis-ci.org/unixorn/awesome-zsh-plugins) | [`config`](https://github.com/unixorn/awesome-zsh-plugins/blob/master/.travis.yml) | [unixorn/awesome-zsh-plugins](https://github.com/unixorn/awesome-zsh-plugins)
32
+ [![Build Status](https://travis-ci.org/chentsulin/awesome-graphql.svg)](https://travis-ci.org/chentsulin/awesome-graphql) | [`config`](https://github.com/chentsulin/awesome-graphql/blob/master/.travis.yml) | [chentsulin/awesome-graphql](https://github.com/chentsulin/awesome-graphql)
32
33
  [![Build Status](https://travis-ci.org/arslanbilal/git-cheat-sheet.svg)](https://travis-ci.org/arslanbilal/git-cheat-sheet) | [`config`](https://github.com/arslanbilal/git-cheat-sheet/blob/master/.travis.yml) | [arslanbilal/git-cheat-sheet](https://github.com/arslanbilal/git-cheat-sheet)
33
34
  [![Build Status](https://travis-ci.org/dahlia/awesome-sqlalchemy.svg)](https://travis-ci.org/dahlia/awesome-sqlalchemy) | [`config`](https://github.com/dahlia/awesome-sqlalchemy/blob/master/.travis.yml) | [dahlia/awesome-sqlalchemy](https://github.com/dahlia/awesome-sqlalchemy)
34
- [![Build Status](https://travis-ci.org/chentsulin/awesome-graphql.svg)](https://travis-ci.org/chentsulin/awesome-graphql) | [`config`](https://github.com/chentsulin/awesome-graphql/blob/master/.travis.yml) | [chentsulin/awesome-graphql](https://github.com/chentsulin/awesome-graphql)
35
35
  [![Build Status](https://travis-ci.org/webpro/awesome-dotfiles.svg)](https://travis-ci.org/webpro/awesome-dotfiles) | [`config`](https://github.com/webpro/awesome-dotfiles/blob/master/.travis.yml) | [webpro/awesome-dotfiles](https://github.com/webpro/awesome-dotfiles)
36
36
  [![Build Status](https://travis-ci.org/ashishb/android-security-awesome.svg)](https://travis-ci.org/ashishb/android-security-awesome) | [`config`](https://github.com/ashishb/android-security-awesome/blob/master/.travis.yml) | [ashishb/android-security-awesome](https://github.com/ashishb/android-security-awesome)
37
37
  [![Build Status](https://travis-ci.org/rshipp/awesome-malware-analysis.svg)](https://travis-ci.org/rshipp/awesome-malware-analysis) | [`config`](https://github.com/rshipp/awesome-malware-analysis/blob/master/.travis.yml) | [rshipp/awesome-malware-analysis](https://github.com/rshipp/awesome-malware-analysis)
38
38
  [![Build Status](https://travis-ci.org/mfornos/awesome-microservices.svg)](https://travis-ci.org/mfornos/awesome-microservices) | [`config`](https://github.com/mfornos/awesome-microservices/blob/master/.travis.yml) | [mfornos/awesome-microservices](https://github.com/mfornos/awesome-microservices)
39
39
  [![Build Status](https://travis-ci.org/lerrua/remote-jobs-brazil.svg)](https://travis-ci.org/lerrua/remote-jobs-brazil) | [`config`](https://github.com/lerrua/remote-jobs-brazil/blob/master/.travis.yml) | [lerrua/remote-jobs-brazil](https://github.com/lerrua/remote-jobs-brazil)
40
40
  [![Build Status](https://travis-ci.org/sitepoint/awesome-symfony.svg)](https://travis-ci.org/sitepoint/awesome-symfony) | [`config`](https://github.com/sitepoint/awesome-symfony/blob/master/.travis.yml) | [sitepoint/awesome-symfony](https://github.com/sitepoint/awesome-symfony)
41
+ [![Build Status](https://travis-ci.org/isRuslan/awesome-elm.svg)](https://travis-ci.org/isRuslan/awesome-elm) | [`config`](https://github.com/isRuslan/awesome-elm/blob/master/.travis.yml) | [isRuslan/awesome-elm](https://github.com/isRuslan/awesome-elm)
41
42
  [![Build Status](https://travis-ci.org/watson/awesome-computer-history.svg)](https://travis-ci.org/watson/awesome-computer-history) | [`config`](https://github.com/watson/awesome-computer-history/blob/master/.travis.yml) | [watson/awesome-computer-history](https://github.com/watson/awesome-computer-history)
42
43
  [![Build Status](https://travis-ci.org/wbinnssmith/awesome-promises.svg)](https://travis-ci.org/wbinnssmith/awesome-promises) | [`config`](https://github.com/wbinnssmith/awesome-promises/blob/master/.travis.yml) | [wbinnssmith/awesome-promises](https://github.com/wbinnssmith/awesome-promises)
43
- [![Build Status](https://travis-ci.org/isRuslan/awesome-elm.svg)](https://travis-ci.org/isRuslan/awesome-elm) | [`config`](https://github.com/isRuslan/awesome-elm/blob/master/.travis.yml) | [isRuslan/awesome-elm](https://github.com/isRuslan/awesome-elm)
44
44
  [![Build Status](https://travis-ci.org/dotfiles/dotfiles.github.com.svg)](https://travis-ci.org/dotfiles/dotfiles.github.com) | [`config`](https://github.com/dotfiles/dotfiles.github.com/blob/master/.travis.yml) | [dotfiles/dotfiles.github.com](https://github.com/dotfiles/dotfiles.github.com)
45
45
  [![Build Status](https://travis-ci.org/diegocard/awesome-html5.svg)](https://travis-ci.org/diegocard/awesome-html5) | [`config`](https://github.com/diegocard/awesome-html5/blob/master/.travis.yml) | [diegocard/awesome-html5](https://github.com/diegocard/awesome-html5)
46
46
  [![Build Status](https://travis-ci.org/stefanbuck/awesome-browser-extensions-for-github.svg)](https://travis-ci.org/stefanbuck/awesome-browser-extensions-for-github) | [`config`](https://github.com/stefanbuck/awesome-browser-extensions-for-github/blob/master/.travis.yml) | [stefanbuck/awesome-browser-extensions-for-github](https://github.com/stefanbuck/awesome-browser-extensions-for-github)
47
47
  [![Build Status](https://travis-ci.org/fasouto/awesome-dataviz.svg)](https://travis-ci.org/fasouto/awesome-dataviz) | [`config`](https://github.com/fasouto/awesome-dataviz/blob/master/.travis.yml) | [fasouto/awesome-dataviz](https://github.com/fasouto/awesome-dataviz)
48
- [![Build Status](https://travis-ci.org/RichardLitt/awesome-conferences.svg)](https://travis-ci.org/RichardLitt/awesome-conferences) | [`config`](https://github.com/RichardLitt/awesome-conferences/blob/master/.travis.yml) | [RichardLitt/awesome-conferences](https://github.com/RichardLitt/awesome-conferences)
49
48
  [![Build Status](https://travis-ci.org/sotayamashita/awesome-css.svg)](https://travis-ci.org/sotayamashita/awesome-css) | [`config`](https://github.com/sotayamashita/awesome-css/blob/master/.travis.yml) | [sotayamashita/awesome-css](https://github.com/sotayamashita/awesome-css)
50
- [![Build Status](https://travis-ci.org/FriendsOfCake/awesome-cakephp.svg)](https://travis-ci.org/FriendsOfCake/awesome-cakephp) | [`config`](https://github.com/FriendsOfCake/awesome-cakephp/blob/master/.travis.yml) | [FriendsOfCake/awesome-cakephp](https://github.com/FriendsOfCake/awesome-cakephp)
49
+ [![Build Status](https://travis-ci.org/RichardLitt/awesome-conferences.svg)](https://travis-ci.org/RichardLitt/awesome-conferences) | [`config`](https://github.com/RichardLitt/awesome-conferences/blob/master/.travis.yml) | [RichardLitt/awesome-conferences](https://github.com/RichardLitt/awesome-conferences)
51
50
  [![Build Status](https://travis-ci.org/uraimo/Awesome-Swift-Playgrounds.svg)](https://travis-ci.org/uraimo/Awesome-Swift-Playgrounds) | [`config`](https://github.com/uraimo/Awesome-Swift-Playgrounds/blob/master/.travis.yml) | [uraimo/Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds)
51
+ [![Build Status](https://travis-ci.org/FriendsOfCake/awesome-cakephp.svg)](https://travis-ci.org/FriendsOfCake/awesome-cakephp) | [`config`](https://github.com/FriendsOfCake/awesome-cakephp/blob/master/.travis.yml) | [FriendsOfCake/awesome-cakephp](https://github.com/FriendsOfCake/awesome-cakephp)
52
52
  [![Build Status](https://travis-ci.org/caesar0301/awesome-pcaptools.svg)](https://travis-ci.org/caesar0301/awesome-pcaptools) | [`config`](https://github.com/caesar0301/awesome-pcaptools/blob/master/.travis.yml) | [caesar0301/awesome-pcaptools](https://github.com/caesar0301/awesome-pcaptools)
53
53
  [![Build Status](https://travis-ci.org/matteofigus/awesome-speaking.svg)](https://travis-ci.org/matteofigus/awesome-speaking) | [`config`](https://github.com/matteofigus/awesome-speaking/blob/master/.travis.yml) | [matteofigus/awesome-speaking](https://github.com/matteofigus/awesome-speaking)
54
54
  [![Build Status](https://travis-ci.org/matiassingers/awesome-readme.svg)](https://travis-ci.org/matiassingers/awesome-readme) | [`config`](https://github.com/matiassingers/awesome-readme/blob/master/.travis.yml) | [matiassingers/awesome-readme](https://github.com/matiassingers/awesome-readme)
55
55
  [![Build Status](https://travis-ci.org/najela/discount-for-student-dev.svg)](https://travis-ci.org/najela/discount-for-student-dev) | [`config`](https://github.com/najela/discount-for-student-dev/blob/master/.travis.yml) | [najela/discount-for-student-dev](https://github.com/najela/discount-for-student-dev)
56
56
  [![Build Status](https://travis-ci.org/afonsopacifer/awesome-flexbox.svg)](https://travis-ci.org/afonsopacifer/awesome-flexbox) | [`config`](https://github.com/afonsopacifer/awesome-flexbox/blob/master/.travis.yml) | [afonsopacifer/awesome-flexbox](https://github.com/afonsopacifer/awesome-flexbox)
57
- [![Build Status](https://travis-ci.org/burningtree/awesome-json.svg)](https://travis-ci.org/burningtree/awesome-json) | [`config`](https://github.com/burningtree/awesome-json/blob/master/.travis.yml) | [burningtree/awesome-json](https://github.com/burningtree/awesome-json)
58
57
  [![Build Status](https://travis-ci.org/JavaBy/awesome-kotlin.svg)](https://travis-ci.org/JavaBy/awesome-kotlin) | [`config`](https://github.com/JavaBy/awesome-kotlin/blob/master/.travis.yml) | [JavaBy/awesome-kotlin](https://github.com/JavaBy/awesome-kotlin)
58
+ [![Build Status](https://travis-ci.org/burningtree/awesome-json.svg)](https://travis-ci.org/burningtree/awesome-json) | [`config`](https://github.com/burningtree/awesome-json/blob/master/.travis.yml) | [burningtree/awesome-json](https://github.com/burningtree/awesome-json)
59
59
  [![Build Status](https://travis-ci.org/vredniy/awesome-newsletters.svg)](https://travis-ci.org/vredniy/awesome-newsletters) | [`config`](https://github.com/vredniy/awesome-newsletters/blob/master/.travis.yml) | [vredniy/awesome-newsletters](https://github.com/vredniy/awesome-newsletters)
60
60
  [![Build Status](https://travis-ci.org/vredniy/awesome-newsletters.svg)](https://travis-ci.org/vredniy/awesome-newsletters) | [`config`](https://github.com/vredniy/awesome-newsletters/blob/master/.travis.yml) | [vredniy/awesome-newsletters](https://github.com/vredniy/awesome-newsletters)
61
61
  [![Build Status](https://travis-ci.org/uralbash/awesome-pyramid.svg)](https://travis-ci.org/uralbash/awesome-pyramid) | [`config`](https://github.com/uralbash/awesome-pyramid/blob/master/.travis.yml) | [uralbash/awesome-pyramid](https://github.com/uralbash/awesome-pyramid)
62
62
  [![Build Status](https://travis-ci.org/ahkscript/awesome-AutoHotkey.svg)](https://travis-ci.org/ahkscript/awesome-AutoHotkey) | [`config`](https://github.com/ahkscript/awesome-AutoHotkey/blob/master/.travis.yml) | [ahkscript/awesome-AutoHotkey](https://github.com/ahkscript/awesome-AutoHotkey)
63
- [![Build Status](https://travis-ci.org/HQarroum/awesome-iot.svg)](https://travis-ci.org/HQarroum/awesome-iot) | [`config`](https://github.com/HQarroum/awesome-iot/blob/master/.travis.yml) | [HQarroum/awesome-iot](https://github.com/HQarroum/awesome-iot)
64
63
  [![Build Status](https://travis-ci.org/aleksandar-todorovic/awesome-c.svg)](https://travis-ci.org/aleksandar-todorovic/awesome-c) | [`config`](https://github.com/aleksandar-todorovic/awesome-c/blob/master/.travis.yml) | [aleksandar-todorovic/awesome-c](https://github.com/aleksandar-todorovic/awesome-c)
64
+ [![Build Status](https://travis-ci.org/HQarroum/awesome-iot.svg)](https://travis-ci.org/HQarroum/awesome-iot) | [`config`](https://github.com/HQarroum/awesome-iot/blob/master/.travis.yml) | [HQarroum/awesome-iot](https://github.com/HQarroum/awesome-iot)
65
65
  [![Build Status](https://travis-ci.org/phillipadsmith/awesome-github.svg)](https://travis-ci.org/phillipadsmith/awesome-github) | [`config`](https://github.com/phillipadsmith/awesome-github/blob/master/.travis.yml) | [phillipadsmith/awesome-github](https://github.com/phillipadsmith/awesome-github)
66
- [![Build Status](https://travis-ci.org/iJackUA/awesome-vagrant.svg)](https://travis-ci.org/iJackUA/awesome-vagrant) | [`config`](https://github.com/iJackUA/awesome-vagrant/blob/master/.travis.yml) | [iJackUA/awesome-vagrant](https://github.com/iJackUA/awesome-vagrant)
67
66
  [![Build Status](https://travis-ci.org/sergeyklay/awesome-phalcon.svg)](https://travis-ci.org/sergeyklay/awesome-phalcon) | [`config`](https://github.com/sergeyklay/awesome-phalcon/blob/master/.travis.yml) | [sergeyklay/awesome-phalcon](https://github.com/sergeyklay/awesome-phalcon)
68
- [![Build Status](https://travis-ci.org/yenchenlin1994/awesome-watchos.svg)](https://travis-ci.org/yenchenlin1994/awesome-watchos) | [`config`](https://github.com/yenchenlin1994/awesome-watchos/blob/master/.travis.yml) | [yenchenlin1994/awesome-watchos](https://github.com/yenchenlin1994/awesome-watchos)
67
+ [![Build Status](https://travis-ci.org/iJackUA/awesome-vagrant.svg)](https://travis-ci.org/iJackUA/awesome-vagrant) | [`config`](https://github.com/iJackUA/awesome-vagrant/blob/master/.travis.yml) | [iJackUA/awesome-vagrant](https://github.com/iJackUA/awesome-vagrant)
69
68
  [![Build Status](https://travis-ci.org/ipfs/awesome-ipfs.svg)](https://travis-ci.org/ipfs/awesome-ipfs) | [`config`](https://github.com/ipfs/awesome-ipfs/blob/master/.travis.yml) | [ipfs/awesome-ipfs](https://github.com/ipfs/awesome-ipfs)
69
+ [![Build Status](https://travis-ci.org/yenchenlin1994/awesome-watchos.svg)](https://travis-ci.org/yenchenlin1994/awesome-watchos) | [`config`](https://github.com/yenchenlin1994/awesome-watchos/blob/master/.travis.yml) | [yenchenlin1994/awesome-watchos](https://github.com/yenchenlin1994/awesome-watchos)
70
+ [![Build Status](https://travis-ci.org/MakinGiants/awesome-mobile-dev.svg)](https://travis-ci.org/MakinGiants/awesome-mobile-dev) | [`config`](https://github.com/MakinGiants/awesome-mobile-dev/blob/master/.travis.yml) | [MakinGiants/awesome-mobile-dev](https://github.com/MakinGiants/awesome-mobile-dev)
71
+ [![Build Status](https://travis-ci.org/MakinGiants/awesome-mobile-dev.svg)](https://travis-ci.org/MakinGiants/awesome-mobile-dev) | [`config`](https://github.com/MakinGiants/awesome-mobile-dev/blob/master/.travis.yml) | [MakinGiants/awesome-mobile-dev](https://github.com/MakinGiants/awesome-mobile-dev)
70
72
  [![Build Status](https://travis-ci.org/notthetup/awesome-webaudio.svg)](https://travis-ci.org/notthetup/awesome-webaudio) | [`config`](https://github.com/notthetup/awesome-webaudio/blob/master/.travis.yml) | [notthetup/awesome-webaudio](https://github.com/notthetup/awesome-webaudio)
73
+ [![Build Status](https://travis-ci.org/ramitsurana/awesome-kubernetes.svg)](https://travis-ci.org/ramitsurana/awesome-kubernetes) | [`config`](https://github.com/ramitsurana/awesome-kubernetes/blob/master/.travis.yml) | [ramitsurana/awesome-kubernetes](https://github.com/ramitsurana/awesome-kubernetes)
74
+ [![Build Status](https://travis-ci.org/fisherman/awesome-fish.svg)](https://travis-ci.org/fisherman/awesome-fish) | [`config`](https://github.com/fisherman/awesome-fish/blob/master/.travis.yml) | [fisherman/awesome-fish](https://github.com/fisherman/awesome-fish)
71
75
  [![Build Status](https://travis-ci.org/deanhume/typography.svg)](https://travis-ci.org/deanhume/typography) | [`config`](https://github.com/deanhume/typography/blob/master/.travis.yml) | [deanhume/typography](https://github.com/deanhume/typography)
72
- [![Build Status](https://travis-ci.org/MakinGiants/awesome-mobile-dev.svg)](https://travis-ci.org/MakinGiants/awesome-mobile-dev) | [`config`](https://github.com/MakinGiants/awesome-mobile-dev/blob/master/.travis.yml) | [MakinGiants/awesome-mobile-dev](https://github.com/MakinGiants/awesome-mobile-dev)
73
- [![Build Status](https://travis-ci.org/filipelinhares/awesome-slack.svg)](https://travis-ci.org/filipelinhares/awesome-slack) | [`config`](https://github.com/filipelinhares/awesome-slack/blob/master/.travis.yml) | [filipelinhares/awesome-slack](https://github.com/filipelinhares/awesome-slack)
74
76
  [![Build Status](https://travis-ci.org/lnishan/awesome-competitive-programming.svg)](https://travis-ci.org/lnishan/awesome-competitive-programming) | [`config`](https://github.com/lnishan/awesome-competitive-programming/blob/master/.travis.yml) | [lnishan/awesome-competitive-programming](https://github.com/lnishan/awesome-competitive-programming)
75
- [![Build Status](https://travis-ci.org/ramitsurana/awesome-kubernetes.svg)](https://travis-ci.org/ramitsurana/awesome-kubernetes) | [`config`](https://github.com/ramitsurana/awesome-kubernetes/blob/master/.travis.yml) | [ramitsurana/awesome-kubernetes](https://github.com/ramitsurana/awesome-kubernetes)
77
+ [![Build Status](https://travis-ci.org/filipelinhares/awesome-slack.svg)](https://travis-ci.org/filipelinhares/awesome-slack) | [`config`](https://github.com/filipelinhares/awesome-slack/blob/master/.travis.yml) | [filipelinhares/awesome-slack](https://github.com/filipelinhares/awesome-slack)
76
78
  [![Build Status](https://travis-ci.org/brunopulis/awesome-a11y.svg)](https://travis-ci.org/brunopulis/awesome-a11y) | [`config`](https://github.com/brunopulis/awesome-a11y/blob/master/.travis.yml) | [brunopulis/awesome-a11y](https://github.com/brunopulis/awesome-a11y)
77
79
  [![Build Status](https://travis-ci.org/brabadu/awesome-fonts.svg)](https://travis-ci.org/brabadu/awesome-fonts) | [`config`](https://github.com/brabadu/awesome-fonts/blob/master/.travis.yml) | [brabadu/awesome-fonts](https://github.com/brabadu/awesome-fonts)
78
80
  [![Build Status](https://travis-ci.org/vinkla/awesome-fuse.svg)](https://travis-ci.org/vinkla/awesome-fuse) | [`config`](https://github.com/vinkla/awesome-fuse/blob/master/.travis.yml) | [vinkla/awesome-fuse](https://github.com/vinkla/awesome-fuse)
81
+ [![Build Status](https://travis-ci.org/benoitjadinon/awesome-xamarin.svg)](https://travis-ci.org/benoitjadinon/awesome-xamarin) | [`config`](https://github.com/benoitjadinon/awesome-xamarin/blob/master/.travis.yml) | [benoitjadinon/awesome-xamarin](https://github.com/benoitjadinon/awesome-xamarin)
79
82
  [![Build Status](https://travis-ci.org/christian-bromann/awesome-selenium.svg)](https://travis-ci.org/christian-bromann/awesome-selenium) | [`config`](https://github.com/christian-bromann/awesome-selenium/blob/master/.travis.yml) | [christian-bromann/awesome-selenium](https://github.com/christian-bromann/awesome-selenium)
80
- [![Build Status](https://travis-ci.org/unixorn/git-extra-commands.svg)](https://travis-ci.org/unixorn/git-extra-commands) | [`config`](https://github.com/unixorn/git-extra-commands/blob/master/.travis.yml) | [unixorn/git-extra-commands](https://github.com/unixorn/git-extra-commands)
81
83
  [![Build Status](https://travis-ci.org/mark-rushakoff/awesome-influxdb.svg)](https://travis-ci.org/mark-rushakoff/awesome-influxdb) | [`config`](https://github.com/mark-rushakoff/awesome-influxdb/blob/master/.travis.yml) | [mark-rushakoff/awesome-influxdb](https://github.com/mark-rushakoff/awesome-influxdb)
82
- [![Build Status](https://travis-ci.org/benoitjadinon/awesome-xamarin.svg)](https://travis-ci.org/benoitjadinon/awesome-xamarin) | [`config`](https://github.com/benoitjadinon/awesome-xamarin/blob/master/.travis.yml) | [benoitjadinon/awesome-xamarin](https://github.com/benoitjadinon/awesome-xamarin)
84
+ [![Build Status](https://travis-ci.org/unixorn/git-extra-commands.svg)](https://travis-ci.org/unixorn/git-extra-commands) | [`config`](https://github.com/unixorn/git-extra-commands/blob/master/.travis.yml) | [unixorn/git-extra-commands](https://github.com/unixorn/git-extra-commands)
83
85
  [![Build Status](https://travis-ci.org/RichardLitt/endangered-languages.svg)](https://travis-ci.org/RichardLitt/endangered-languages) | [`config`](https://github.com/RichardLitt/endangered-languages/blob/master/.travis.yml) | [RichardLitt/endangered-languages](https://github.com/RichardLitt/endangered-languages)
84
- [![Build Status](https://travis-ci.org/vkarampinis/awesome-icons.svg)](https://travis-ci.org/vkarampinis/awesome-icons) | [`config`](https://github.com/vkarampinis/awesome-icons/blob/master/.travis.yml) | [vkarampinis/awesome-icons](https://github.com/vkarampinis/awesome-icons)
85
86
  [![Build Status](https://travis-ci.org/Neueda4j/awesome-neo4j.svg)](https://travis-ci.org/Neueda4j/awesome-neo4j) | [`config`](https://github.com/Neueda4j/awesome-neo4j/blob/master/.travis.yml) | [Neueda4j/awesome-neo4j](https://github.com/Neueda4j/awesome-neo4j)
87
+ [![Build Status](https://travis-ci.org/vkarampinis/awesome-icons.svg)](https://travis-ci.org/vkarampinis/awesome-icons) | [`config`](https://github.com/vkarampinis/awesome-icons/blob/master/.travis.yml) | [vkarampinis/awesome-icons](https://github.com/vkarampinis/awesome-icons)
86
88
  [![Build Status](https://travis-ci.org/rabbiabram/awesome-fortran.svg)](https://travis-ci.org/rabbiabram/awesome-fortran) | [`config`](https://github.com/rabbiabram/awesome-fortran/blob/master/.travis.yml) | [rabbiabram/awesome-fortran](https://github.com/rabbiabram/awesome-fortran)
87
89
  [![Build Status](https://travis-ci.org/tedyoung/awesome-java8.svg)](https://travis-ci.org/tedyoung/awesome-java8) | [`config`](https://github.com/tedyoung/awesome-java8/blob/master/.travis.yml) | [tedyoung/awesome-java8](https://github.com/tedyoung/awesome-java8)
88
90
  [![Build Status](https://travis-ci.org/yangshun/awesome-spinners.svg)](https://travis-ci.org/yangshun/awesome-spinners) | [`config`](https://github.com/yangshun/awesome-spinners/blob/master/.travis.yml) | [yangshun/awesome-spinners](https://github.com/yangshun/awesome-spinners)
89
- [![Build Status](https://travis-ci.org/wfhio/awesome-job-boards.svg)](https://travis-ci.org/wfhio/awesome-job-boards) | [`config`](https://github.com/wfhio/awesome-job-boards/blob/master/.travis.yml) | [wfhio/awesome-job-boards](https://github.com/wfhio/awesome-job-boards)
90
91
  [![Build Status](https://travis-ci.org/joubertredrat/awesome-devops.svg)](https://travis-ci.org/joubertredrat/awesome-devops) | [`config`](https://github.com/joubertredrat/awesome-devops/blob/master/.travis.yml) | [joubertredrat/awesome-devops](https://github.com/joubertredrat/awesome-devops)
92
+ [![Build Status](https://travis-ci.org/wfhio/awesome-job-boards.svg)](https://travis-ci.org/wfhio/awesome-job-boards) | [`config`](https://github.com/wfhio/awesome-job-boards/blob/master/.travis.yml) | [wfhio/awesome-job-boards](https://github.com/wfhio/awesome-job-boards)
91
93
  [![Build Status](https://travis-ci.org/ipfs/weekly.svg)](https://travis-ci.org/ipfs/weekly) | [`config`](https://github.com/ipfs/weekly/blob/master/.travis.yml) | [ipfs/weekly](https://github.com/ipfs/weekly)
94
+ [![Build Status](https://travis-ci.org/jjaderg/awesome-postcss.svg)](https://travis-ci.org/jjaderg/awesome-postcss) | [`config`](https://github.com/jjaderg/awesome-postcss/blob/master/.travis.yml) | [jjaderg/awesome-postcss](https://github.com/jjaderg/awesome-postcss)
92
95
  [![Build Status](https://travis-ci.org/stve/awesome-dropwizard.svg)](https://travis-ci.org/stve/awesome-dropwizard) | [`config`](https://github.com/stve/awesome-dropwizard/blob/master/.travis.yml) | [stve/awesome-dropwizard](https://github.com/stve/awesome-dropwizard)
93
96
  [![Build Status](https://travis-ci.org/ramitsurana/awesome-openstack.svg)](https://travis-ci.org/ramitsurana/awesome-openstack) | [`config`](https://github.com/ramitsurana/awesome-openstack/blob/master/.travis.yml) | [ramitsurana/awesome-openstack](https://github.com/ramitsurana/awesome-openstack)
94
97
  [![Circle CI](https://img.shields.io/circleci/project/tmcw/awesome-geojson.svg)](https://circleci.com/gh/tmcw/awesome-geojson) | [`config`](https://github.com/tmcw/awesome-geojson/blob/master/circle.yml) | [tmcw/awesome-geojson](https://github.com/tmcw/awesome-geojson)
95
- [![Build Status](https://travis-ci.org/fisherman/awesome-fish.svg?branch=master)](https://travis-ci.org/fisherman/awesome-fish) | [`config`](https://github.com/fisherman/awesome-fish/blob/master/.travis.yml) | [fisherman/awesome-fish](https://github.com/fisherman/awesome-fish)
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.8.1
4
+ version: 1.8.2
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-04-29 00:00:00.000000000 Z
11
+ date: 2016-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.6.1
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ~>
32
- - !ruby/object:Gem::Version
33
- version: 3.4.0
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
40
- version: 3.4.0
41
27
  description: Check for valid and duplicate URLs in a file. Great for "awesome" projects.
42
28
  email:
43
29
  - dkhamsing8@gmail.com
@@ -73,7 +59,7 @@ files:
73
59
  - lib/awesome_bot/check.rb
74
60
  - lib/awesome_bot/cli.rb
75
61
  - lib/awesome_bot/links.rb
76
- - lib/awesome_bot/log.rb
62
+ - lib/awesome_bot/output.rb
77
63
  - lib/awesome_bot/result.rb
78
64
  - lib/awesome_bot/statuses.rb
79
65
  - lib/awesome_bot/version.rb
@@ -1,17 +0,0 @@
1
- # Log
2
- module AwesomeBot
3
- # Log
4
- class Log
5
- def initialize(verbose = false)
6
- @v = verbose
7
- end
8
-
9
- def add(message)
10
- puts message if @v
11
- end
12
-
13
- def addp(message)
14
- print message if @v
15
- end
16
- end # class
17
- end