awesome_bot 1.5.1 → 1.6.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: 86f47522c8abd6392f288ac1b07c0ad82304a593
4
- data.tar.gz: 91e754b597dbf52696bf580c482097a01d59b9bf
3
+ metadata.gz: 2863badda56b18c318806dad7a92b7d13d79d11a
4
+ data.tar.gz: 766901657524cd64a1aad2d8623ec4ed2a1715a8
5
5
  SHA512:
6
- metadata.gz: 43b2abdd184fce42b28121d65171720deafd55db92d4b6c75093acb0a526ca83309af7564da7efa26d06a656b2501ab579f56d169f049ede2843c3cc87ea1255
7
- data.tar.gz: 987906144e1c1534d905433bc0ee44a616358197b4a589aabbaf2f3bf0b73e276fa802f4d03e0a9ab90ece70b19585bf6cb586db71384973125c77bd5d22437e
6
+ metadata.gz: 223dc34d63d95f3619a7f7d95f912bb3d23377cba27f1a228569db17cf9b81f7c03463e6bc816b7e0a4d92f116a87c8fa0fa5a54c1173dc0ddebecbfd1a93d73
7
+ data.tar.gz: 5b848dd454e0c0a97de3d26c6d98a3c76e835739e9eec970cc430428d396dc25158ce71dafd06f955730731cfb5e019507b53895692124e4ed9eaaf4ea1bd5fc
@@ -12,4 +12,5 @@ script:
12
12
  - awesome_bot bin/assets/test-timeout --allow-timeout --set-timeout 1
13
13
  - awesome_bot bin/assets/test-timeout-and-redirect --allow-timeout --set-timeout 1 --allow-redirect
14
14
  - awesome_bot bin/assets/test-redirect --allow-redirect
15
- - awesome_bot README.md --allow-dupe --white-list gph.is,giphy,bot.svg,codeload,badge,rubydoc,rubygems
15
+ - awesome_bot bin/assets/test-statuses --white-list bot,bad,super
16
+ - awesome_bot README.md --allow-dupe --white-list gph.is,giphy,travis-ci.org,codeload,badge,rubydoc,rubygems,circleci
@@ -1,70 +1,76 @@
1
1
  # awesome_bot
2
2
 
3
- ## 0.1.0
3
+ # 1.6.0
4
4
 
5
- - initial version
5
+ - [cli] improve argument error
6
+ - [output] update status using `x` for 400s error code and `?` for other
7
+ - [output] clarify white listing
6
8
 
7
- ## 1.0.0
9
+ # 1.5.1
8
10
 
9
- - correct failure logic
10
- - rename `run` to `check`
11
- - isolate cli
12
- - [cli] simply usage, output version
13
- - [gemspec] update
14
- - [travis] simplify
11
+ - [fix] link parsing error with markdown badge
12
+ - improve code, suggested by [Colby M. White][]
15
13
 
16
- ## 1.1.0
14
+ # 1.5.0
17
15
 
18
- - handle bad links
19
- - statuses yields `status`, `url`
20
- - add head option when getting statuses
21
- - [cli] improve output for `--allow-dupe`
16
+ - [output] display url redirect location, by [Colby M. White][]
17
+ - [output] update logic for number of unique links
18
+ - [output] standardize indent
19
+ - rename `Result` `rejected` to `links_white_listed`
22
20
 
23
- # 1.2.0
21
+ # 1.4.0
24
22
 
25
- - move some logic from check to cli
26
- - output status for white listed links
27
- - use `result`
28
- - use `logger`
23
+ - add `--allow-timeout` and `--set-timeout` options, suggested by [R.I. Pienaar][]
29
24
 
30
- # 1.2.1
25
+ # 1.3.3
31
26
 
32
- - correct logic for displaying white list status
27
+ - [gemspec] remove uri dependency
33
28
 
34
- # 1.3.0
29
+ # 1.3.2
35
30
 
36
- - add `--allow-redirect` option, suggested by [R.I. Pienaar][]
37
- - output `→` as redirect status indicator
38
- - update error logic in statuses
31
+ - [fix] another error with `)` in link parsing, reported by [Julien Bisconti](https://github.com/veggiemonk)
39
32
 
40
33
  # 1.3.1
41
34
 
42
35
  - [fix] error with `)` in link parsing, reported by [Halim Qarroum](https://github.com/HQarroum)
43
36
  - minor improvement to output
44
37
 
45
- # 1.3.2
38
+ # 1.3.0
46
39
 
47
- - [fix] another error with `)` in link parsing, reported by [Julien Bisconti](https://github.com/veggiemonk)
40
+ - add `--allow-redirect` option, suggested by [R.I. Pienaar][]
41
+ - output `→` as redirect status indicator
42
+ - update error logic in statuses
48
43
 
49
- # 1.3.3
44
+ # 1.2.1
50
45
 
51
- - [gemspec] remove uri dependency
46
+ - correct logic for displaying white list status
52
47
 
53
- # 1.4.0
48
+ # 1.2.0
54
49
 
55
- - add `--allow-timeout` and `--set-timeout` options, suggested by [R.I. Pienaar][]
50
+ - move some logic from check to cli
51
+ - output status for white listed links
52
+ - use `result`
53
+ - use `logger`
56
54
 
57
- # 1.5.0
55
+ ## 1.1.0
58
56
 
59
- - [output] display url redirect location, by [Colby M. White][]
60
- - [output] update logic for number of unique links
61
- - [output] standardize indent
62
- - rename `Result` `rejected` to `links_white_listed`
57
+ - handle bad links
58
+ - statuses yields `status`, `url`
59
+ - add head option when getting statuses
60
+ - [cli] improve output for `--allow-dupe`
63
61
 
64
- # 1.5.1
62
+ ## 1.0.0
65
63
 
66
- - [fix] link parsing error with markdown badge
67
- - improve code, suggested by [Colby M. White][]
64
+ - correct failure logic
65
+ - rename `run` to `check`
66
+ - isolate cli
67
+ - [cli] simply usage, output version
68
+ - [gemspec] update
69
+ - [travis] simplify
70
+
71
+ ## 0.1.0
72
+
73
+ - initial version
68
74
 
69
75
  ## Contact
70
76
 
data/README.md CHANGED
@@ -1,13 +1,14 @@
1
1
  # awesome_bot
2
2
 
3
- :rocket: Check for links in [awesome](https://github.com/sindresorhus/awesome) projects
3
+ Verify links in [awesome](https://github.com/sindresorhus/awesome) projects :rocket:
4
4
 
5
5
  ![](http://i.giphy.com/urvsFBDfR6N32.gif)
6
6
 
7
- `awesome_bot` checks for valid URLs in a file, it can be used to verify pull requests updating a README with [Travis](#travis).
8
-
9
7
  [![Build Status](https://travis-ci.org/dkhamsing/awesome_bot.svg)](https://travis-ci.org/dkhamsing/awesome_bot)
10
8
  [![Gem Version](https://badge.fury.io/rb/awesome_bot.svg)](https://badge.fury.io/rb/awesome_bot)
9
+ [![](https://img.shields.io/badge/awesome-status-brightgreen.svg)](status.md)
10
+
11
+ `awesome_bot` checks for valid URLs in a file, it can be used to [verify pull requests](#validate-pull-requests) updating a README.
11
12
 
12
13
  ## Installation
13
14
 
@@ -30,12 +31,12 @@ Or install it yourself as
30
31
  ```ruby
31
32
  irb(main):001:0> require 'awesome_bot'
32
33
  => true
33
- irb(main):002:0> c = File.read 'README.md'
34
+ irb(main):002:0> content = File.read 'README.md'
34
35
  => "..."
35
- irb(main):003:0> r = AwesomeBot.check c
36
+ irb(main):003:0> result = AwesomeBot.check content
36
37
  => #<AwesomeBot::Result:0x007fdde39f4408 @links=...>
37
38
  # AwesomeBot Result with success, statuses_issues, dupes and more
38
- irb(main):004:0> puts r.success ? 'No errors' : ':-('
39
+ irb(main):004:0> puts result.success ? 'No errors' : ':-('
39
40
  :-(
40
41
  ```
41
42
 
@@ -44,12 +45,20 @@ More information at [rubydoc](http://www.rubydoc.info/gems/awesome_bot).
44
45
  ### Command Line
45
46
 
46
47
  awesome_bot <file> [--allow-dupe] [--allow-redirect] [--allow-timeout] [--set-timeout d] [--white-list item1,item2,..]
47
- file Path to file
48
+ file Path to file, required as first argument
48
49
  --allow-dupe Duplicates URLs are allowed URLs
49
50
  --allow-redirect Redirected URLs are allowed
50
51
  --allow-timeout URLs that time out are allowed
51
52
  --set-timeout Set connection timeout (seconds)
52
- --white-list Comma separated URLs to white list
53
+ --white-list Comma separated URLs/domains to white list
54
+
55
+ By default, `awesome_bot` flags duplicates and URL redirects.
56
+
57
+ - Use option `--allow-dupe` to allow duplicates.
58
+ - Use option `allow-redirect` to all redirects
59
+ - You can also white list specific links that will not be flagged (for dupe or redirect). `--white-list domain1.com/post/article,domain2.com` white lists `domain1.com/post/article` and all URLs matching `domain2.com`.
60
+
61
+ ### Examples
53
62
 
54
63
  ```shell
55
64
  $ awesome_bot README.md
@@ -63,14 +72,14 @@ Links found: 56, 53 unique
63
72
  Checking URLs: ✓x→✓✓✓✓→→✓→✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓→✓✓✓✓✓✓✓✓
64
73
 
65
74
  Issues :-(
66
- > Links
75
+ > Links
67
76
  1. 202 http://www.rubydoc.info/gems/awesome_bot
68
77
  2. 301 http://rubygems.org/gems/awesome_bot → https://rubygems.org/gems/awesome_bot
69
78
  3. 302 https://badge.fury.io/rb/awesome_bot.svg → https://d25lcipzij17d.cloudfront.net/badge.svg?id=rb&type=6&v=1.4.0&x2=0
70
79
  4. 302 https://badge.fury.io/rb/awesome_bot → http://rubygems.org/gems/awesome_bot
71
80
  5. 301 https://travis-ci.org/dkhamsing/awesome_bot.svg → https://api.travis-ci.org/dkhamsing/awesome_bot.svg
72
81
  6. 301 http://gph.is/XM6gMT → http://giphy.com/gifs/urvsFBDfR6N32
73
- > Dupes
82
+ > Dupes
74
83
  1. https://github.com/sindresorhus/awesome
75
84
  2. https://github.com/veggiemonk/awesome-docker
76
85
  3. https://github.com/dotfiles/dotfiles.github.com
@@ -97,13 +106,25 @@ Checking white listed URLs: →→✓x✓✓✓→✓✓→→→
97
106
  No issues :-)
98
107
  ```
99
108
 
100
- ## Travis
109
+ ## Validate Pull Requests
101
110
 
102
- Use `awesome_bot` with [Travis](https://travis-ci.org/) to validate GitHub [pull requests](https://github.com/dkhamsing/open-source-ios-apps/pull/159).
111
+ `awesome_bot` can help you validate GitHub [pull requests](https://github.com/dkhamsing/open-source-ios-apps/pull/159), it is used by
103
112
 
104
- Example [`.travis.yml` file](https://github.com/dkhamsing/open-source-ios-apps/blob/master/.travis.yml)
113
+ - https://github.com/tiimgreen/github-cheat-sheet
114
+ - https://github.com/vinta/awesome-python
115
+ - https://github.com/enaqx/awesome-react
116
+ - https://github.com/vsouza/awesome-ios
117
+ - https://github.com/alebcay/awesome-shell
118
+ - https://github.com/matteocrippa/awesome-swift
105
119
 
106
- ```
120
+ and [more](status.md).
121
+
122
+
123
+ ### Travis CI
124
+
125
+ To use `awesome_bot` with Travis CI, [connect your repo](https://travis-ci.org/) and create a [`.travis.yml` file](https://github.com/dkhamsing/open-source-ios-apps/blob/master/.travis.yml).
126
+
127
+ ```yml
107
128
  language: ruby
108
129
  rvm:
109
130
  - 2.2
@@ -113,45 +134,57 @@ script:
113
134
  - awesome_bot README.md
114
135
  ```
115
136
 
116
- `awesome_bot` is used by the following projects:
137
+ To turn off email notifications, add the lines below
117
138
 
118
- 1. https://github.com/vinta/awesome-python
119
- - https://github.com/prakhar1989/awesome-courses
120
- - https://github.com/ripienaar/free-for-dev
121
- - https://github.com/vsouza/awesome-ios
122
- - https://github.com/caesar0301/awesome-public-datasets
123
- - https://github.com/matteocrippa/awesome-swift
124
- - https://github.com/iCHAIT/awesome-osx
125
- - https://github.com/rosarior/awesome-django
126
- - https://github.com/ellisonleao/magictools
127
- - https://github.com/JStumpp/awesome-android
128
- - https://github.com/dariubs/GoBooks
129
- - https://github.com/arslanbilal/git-cheat-sheet
130
- - https://github.com/chentsulin/awesome-graphql
131
- - https://github.com/fasouto/awesome-dataviz
132
- - https://github.com/RichardLitt/awesome-conferences
133
- - https://github.com/caesar0301/awesome-pcaptools
134
- - https://github.com/matiassingers/awesome-readme
135
- - https://github.com/stefanbuck/awesome-browser-extensions-for-github
136
- - https://github.com/afonsopacifer/awesome-flexbox
137
- - https://github.com/HQarroum/awesome-iot
138
- - https://github.com/filipelinhares/awesome-slack
139
- - https://github.com/notthetup/awesome-webaudio
140
- - https://github.com/ipfs/awesome-ipfs
141
- - https://github.com/brunopulis/awesome-a11y
142
- - https://github.com/ramitsurana/awesome-kubernetes
143
- - https://github.com/christian-bromann/awesome-selenium
144
- - https://github.com/benoitjadinon/awesome-xamarin
145
- - https://github.com/vinkla/awesome-fuse
146
- - https://github.com/wfhio/awesome-job-boards
147
- - https://github.com/sotayamashita/awesome-css
148
- - https://github.com/MakinGiants/awesome-mobile-dev
149
- - https://github.com/unixorn/awesome-zsh-plugins
150
- - https://github.com/vredniy/awesome-newsletters
151
- - https://github.com/unixorn/git-extra-commands
152
- - https://github.com/deanhume/typography
153
- - https://github.com/dotfiles/dotfiles.github.com
154
- - https://github.com/veggiemonk/awesome-docker
139
+ ```yml
140
+ notifications:
141
+ email: false
142
+ ```
143
+
144
+ ### Circle CI
145
+
146
+ If you prefer Circle CI, it'll work too. [Connect your repo](https://circleci.com/) and create a [`circle.yml` file](https://github.com/tmcw/awesome-geojson).
147
+
148
+ ```yml
149
+ machine:
150
+ ruby:
151
+ version: 2.2.0
152
+ test:
153
+ pre:
154
+ - gem install awesome_bot
155
+ override:
156
+ - awesome_bot README.md
157
+ ```
158
+
159
+ ### Status Badge
160
+
161
+ [![Build Status](https://travis-ci.org/unixorn/awesome-zsh-plugins.png)](https://travis-ci.org/unixorn/awesome-zsh-plugins)
162
+
163
+ To add the Travis CI build status badge above to your project, use the following code
164
+
165
+ ```
166
+ [![Build Status](https://travis-ci.org/<username>/<project>.svg)](https://travis-ci.org/<username>/<project>)
167
+
168
+ i.e.
169
+ [![Build Status](https://travis-ci.org/dkhamsing/awesome_bot.svg?branch=master)](https://travis-ci.org/dkhamsing/awesome_bot)
170
+ ```
171
+
172
+ As it happens, the default code snippet provided contain a redirect so adding a badge could fail your status :sob:.. one way to fix this is to white list `travis-ci`, i.e.
173
+
174
+ ```
175
+ - awesome_bot README.md --white-list travis-ci
176
+ ```
177
+
178
+ [![Circle CI](https://circleci.com/gh/dkhamsing/awesome_bot.svg?style=svg)](https://circleci.com/gh/dkhamsing/awesome_bot)
179
+
180
+ To add the Circle CI build status badge above to your project, use the following code
181
+
182
+ ```
183
+ [![Circle CI](https://circleci.com/gh/<username>/<project>.svg?style=svg)](https://circleci.com/gh/<username>/<project>)
184
+
185
+ i.e.
186
+ [![Circle CI](https://circleci.com/gh/dkhamsing/awesome_bot.svg?style=svg)](https://circleci.com/gh/dkhamsing/awesome_bot)
187
+ ```
155
188
 
156
189
  ## Credits
157
190
 
@@ -24,5 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_runtime_dependency 'faraday', '~> 0.9.2' # validate urls
25
25
  spec.add_runtime_dependency 'parallel', '~> 1.6.1' # threading
26
26
 
27
- spec.add_development_dependency 'bundler', '~> 1.7' # travis version
27
+ # spec.add_development_dependency 'bundler', '~> 1.7'
28
28
  end
@@ -0,0 +1,4 @@
1
+ https://github.com/supermarin/Alcatraz redirect
2
+ http://www.rubydoc.info/gems/awesome_bot other
3
+ https://github.com/dkhamsing ok
4
+ https://github.com/dkhamsing/badddddd bad
@@ -1,2 +1,2 @@
1
- http://platipy.org
1
+ http://www.cmr.osu.edu/browse/datasets
2
2
  https://github.com
@@ -0,0 +1,17 @@
1
+ machine:
2
+ ruby:
3
+ version: 2.2.0
4
+ test:
5
+ pre:
6
+ - rake install
7
+ override:
8
+ - awesome_bot
9
+ - awesome_bot bin/assets/test-no-issues
10
+ - awesome_bot bin/assets/test-no-links
11
+ - awesome_bot bin/assets/test-parse --white-list coveralls,travis-ci
12
+ - awesome_bot bin/assets/test-dupe --allow-dupe
13
+ - awesome_bot bin/assets/test-timeout --allow-timeout --set-timeout 1
14
+ - awesome_bot bin/assets/test-timeout-and-redirect --allow-timeout --set-timeout 1 --allow-redirect
15
+ - awesome_bot bin/assets/test-redirect --allow-redirect
16
+ - awesome_bot bin/assets/test-statuses --white-list bot,bad,super
17
+ - awesome_bot README.md --allow-dupe --white-list gph.is,giphy,travis-ci.org,codeload,badge,rubydoc,rubygems,circleci
@@ -8,15 +8,20 @@ module AwesomeBot
8
8
  NUMBER_OF_THREADS = 10
9
9
 
10
10
  STATUS_OK = '✓'
11
- STATUS_OTHER = 'x'
11
+ STATUS_OTHER = '?'
12
+ STATUS_400s = 'x'
12
13
  STATUS_REDIRECT = '→'
13
14
 
14
15
  class << self
15
16
  def log_status(s, log)
16
17
  if status_is_redirected? s
17
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
18
23
  else
19
- log.addp(s == 200 ? STATUS_OK : STATUS_OTHER)
24
+ log.addp STATUS_OTHER
20
25
  end
21
26
  end
22
27
 
@@ -36,11 +36,19 @@ module AwesomeBot
36
36
  option_t_a = make_option OPTION_TIMEOUT_ALLOW
37
37
  option_w = make_option OPTION_WHITE_LIST
38
38
 
39
+ options = [
40
+ option_d,
41
+ option_r,
42
+ option_t,
43
+ option_t_a,
44
+ option_w
45
+ ]
46
+
39
47
  if ARGV.count == 0
40
48
  puts "Usage: #{PROJECT} <file> [#{option_d}] [#{option_r}] "\
41
49
  "[#{option_t_a}] [#{option_t} d] "\
42
50
  "[#{option_w} item1,item2,..]\n"\
43
- "#{USAGE} file Path to file \n"\
51
+ "#{USAGE} file Path to file, required as first argument\n"\
44
52
  "#{USAGE} #{option_d} Duplicates URLs are allowed URLs \n"\
45
53
  "#{USAGE} #{option_r} Redirected URLs are allowed \n"\
46
54
  "#{USAGE} #{option_t_a} URLs that time out are allowed \n"\
@@ -51,6 +59,20 @@ module AwesomeBot
51
59
  end
52
60
 
53
61
  filename = ARGV[0]
62
+
63
+ if options.include? filename
64
+ puts "Usage: #{PROJECT} <file> [options] \n"\
65
+ ' Path to file, requried as first argument'
66
+ exit 1
67
+ end
68
+
69
+ begin
70
+ content = File.read filename
71
+ rescue => error
72
+ puts "File open error: #{error}"
73
+ exit 1
74
+ end
75
+
54
76
  puts "> Checking links in #{filename}"
55
77
 
56
78
  if ARGV.count > 1
@@ -79,20 +101,13 @@ module AwesomeBot
79
101
  allow_timeouts = false
80
102
  end
81
103
 
82
- begin
83
- content = File.read filename
84
- rescue => error
85
- puts "File open error: #{error}"
86
- exit 1
87
- end
88
-
89
104
  Faraday.options.timeout = timeout unless timeout.nil?
90
105
 
91
106
  log = Log.new(true)
92
107
  r = check(content, white_listed, skip_dupe, log)
93
108
 
94
109
  unless r.white_listed.nil?
95
- puts "\n> White listed:"
110
+ puts "\n> White list links matching:"
96
111
  r.white_listed.each_with_index do |x, k|
97
112
  output x, k
98
113
  end
@@ -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.5.1'
8
+ VERSION = '1.6.0'
9
9
  end
@@ -0,0 +1,76 @@
1
+ # Awesome Status
2
+
3
+ Build status for **70** projects using https://github.com/dkhamsing/awesome_bot
4
+
5
+ Status | Config | Repo
6
+ --- | --- | ---
7
+ [![Build Status](https://travis-ci.org/tiimgreen/github-cheat-sheet.svg)](https://travis-ci.org/tiimgreen/github-cheat-sheet) | [`config`](https://github.com/tiimgreen/github-cheat-sheet/blob/master/.travis.yml) | [tiimgreen/github-cheat-sheet](https://github.com/tiimgreen/github-cheat-sheet) |
8
+ [![Build Status](https://travis-ci.org/vinta/awesome-python.svg)](https://travis-ci.org/vinta/awesome-python) | [`config`](https://github.com/vinta/awesome-python/blob/master/.travis.yml) | [vinta/awesome-python](https://github.com/vinta/awesome-python) |
9
+ [![Build Status](https://travis-ci.org/ripienaar/free-for-dev.svg)](https://travis-ci.org/ripienaar/free-for-dev) | [`config`](https://github.com/ripienaar/free-for-dev/blob/master/.travis.yml) | [ripienaar/free-for-dev](https://github.com/ripienaar/free-for-dev) |
10
+ [![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) |
11
+ [![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) |
12
+ [![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) |
13
+ [![Build Status](https://travis-ci.org/caesar0301/awesome-public-datasets.svg)](https://travis-ci.org/caesar0301/awesome-public-datasets) | [`config`](https://github.com/caesar0301/awesome-public-datasets/blob/master/.travis.yml) | [caesar0301/awesome-public-datasets](https://github.com/caesar0301/awesome-public-datasets) |
14
+ [![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) |
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
+ [![Build Status](https://travis-ci.org/akullpp/awesome-java.svg)](https://travis-ci.org/akullpp/awesome-java) | [`config`](https://github.com/akullpp/awesome-java/blob/master/.travis.yml) | [akullpp/awesome-java](https://github.com/akullpp/awesome-java) |
17
+ [![Build Status](https://travis-ci.org/neutraltone/awesome-stock-resources.svg)](https://travis-ci.org/neutraltone/awesome-stock-resources) | [`config`](https://github.com/neutraltone/awesome-stock-resources/blob/master/.travis.yml) | [neutraltone/awesome-stock-resources](https://github.com/neutraltone/awesome-stock-resources) |
18
+ [![Build Status](https://travis-ci.org/hangtwenty/dive-into-machine-learning.svg)](https://travis-ci.org/hangtwenty/dive-into-machine-learning) | [`config`](https://github.com/hangtwenty/dive-into-machine-learning/blob/master/.travis.yml) | [hangtwenty/dive-into-machine-learning](https://github.com/hangtwenty/dive-into-machine-learning) |
19
+ [![Build Status](https://travis-ci.org/hsavit1/Awesome-Swift-Education.svg)](https://travis-ci.org/hsavit1/Awesome-Swift-Education) | [`config`](https://github.com/hsavit1/Awesome-Swift-Education/blob/master/.travis.yml) | [hsavit1/Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) |
20
+ [![Build Status](https://travis-ci.org/iCHAIT/awesome-osx.svg)](https://travis-ci.org/iCHAIT/awesome-osx) | [`config`](https://github.com/iCHAIT/awesome-osx/blob/master/.travis.yml) | [iCHAIT/awesome-osx](https://github.com/iCHAIT/awesome-osx) |
21
+ [![Build Status](https://travis-ci.org/rosarior/awesome-django.svg)](https://travis-ci.org/rosarior/awesome-django) | [`config`](https://github.com/rosarior/awesome-django/blob/master/.travis.yml) | [rosarior/awesome-django](https://github.com/rosarior/awesome-django) |
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
+ [![Build Status](https://travis-ci.org/h4cc/awesome-elixir.svg)](https://travis-ci.org/h4cc/awesome-elixir) | [`config`](https://github.com/h4cc/awesome-elixir/blob/master/.travis.yml) | [h4cc/awesome-elixir](https://github.com/h4cc/awesome-elixir) |
24
+ [![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) |
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/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) |
27
+ [![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) |
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
+ [![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) |
30
+ [![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) |
31
+ [![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) |
32
+ [![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) |
33
+ [![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) |
34
+ [![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) |
35
+ [![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) |
36
+ [![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) |
37
+ [![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) |
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
+ [![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) |
40
+ [![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) |
41
+ [![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) |
42
+ [![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) |
43
+ [![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) |
44
+ [![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) |
45
+ [![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) |
46
+ [![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) |
47
+ [![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) |
48
+ [![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) |
49
+ [![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) |
50
+ [![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) |
51
+ [![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) |
52
+ [![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) |
53
+ [![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) |
54
+ [![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) |
55
+ [![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) |
56
+ [![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) |
57
+ [![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) |
58
+ [![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) |
59
+ [![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) |
60
+ [![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) |
61
+ [![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) |
62
+ [![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) |
63
+ [![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) |
64
+ [![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) |
65
+ [![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) |
66
+ [![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) |
67
+ [![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) |
68
+ [![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) |
69
+ [![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) |
70
+ [![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) |
71
+ [![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) |
72
+ [![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) |
73
+ [![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) |
74
+ [![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) |
75
+ [![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) |
76
+ [![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) |
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.5.1
4
+ version: 1.6.0
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-01-06 00:00:00.000000000 Z
11
+ date: 2016-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.6.1
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: '1.7'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: '1.7'
55
41
  description: Check for valid and duplicate URLs in a file. Great for "awesome" projects.
56
42
  email:
57
43
  - dkhamsing8@gmail.com
@@ -76,11 +62,13 @@ files:
76
62
  - bin/assets/test-no-links
77
63
  - bin/assets/test-parse
78
64
  - bin/assets/test-redirect
65
+ - bin/assets/test-statuses
79
66
  - bin/assets/test-timeout
80
67
  - bin/assets/test-timeout-and-redirect
81
68
  - bin/awesome_bot
82
69
  - bin/console
83
70
  - bin/setup
71
+ - circle.yml
84
72
  - lib/awesome_bot.rb
85
73
  - lib/awesome_bot/check.rb
86
74
  - lib/awesome_bot/cli.rb
@@ -90,6 +78,7 @@ files:
90
78
  - lib/awesome_bot/statuses.rb
91
79
  - lib/awesome_bot/version.rb
92
80
  - lib/awesome_bot/white_list.rb
81
+ - status.md
93
82
  homepage: https://github.com/dkhamsing/awesome_bot
94
83
  licenses:
95
84
  - MIT