awesome_bot 1.5.1 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
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