awesome_bot 1.8.2 → 1.8.3

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: 726c07e82daf1459a589dba86f8bf8bd90d79adc
4
- data.tar.gz: f4ce4fe61e18889120e8bca78dea385d7881c0d7
3
+ metadata.gz: eea93efbdd8565105c15d324dc34ebb61c940a5f
4
+ data.tar.gz: faa648aaccb7ca30b29c904f52983ba8c64afcf3
5
5
  SHA512:
6
- metadata.gz: 54ac1ad22e1fad497656b06f3e475d609b445dd3e6a8618c922d6b754b166ba8b5f8dec5e499ae6c911b2c087fa038ca7f2ed3e282e0504533cd09fd17d1a2d6
7
- data.tar.gz: 93aad832332a41e5c6f2e44c9b700d92a663bcce477d3134edb0d9dc7f1b0efc180f5fd60c45accbf8bf1ebdf9e686a4d77210a7b27a16267447ff7be0aa5d37
6
+ metadata.gz: 70dec3767b557fa33196d33c232d21fad543175fa31ace665e917d37aeb47d3ea5011e27cc41564b65b8e17ee15e5cea33eaecd4f9fb85370bf5db0a37ee71f2
7
+ data.tar.gz: 80f2df04e702d4484c2f8a4932fffd5cd1182ac9420feec15ed2a64f9d06916b6b2c9612b97460b5f7788d37b2711e949f46288c8eec7eaabb4f4801801507e0
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Changes by [Daniel Khamsing][] unless otherwise noted.
4
4
 
5
+ # 1.8.3
6
+
7
+ - restore `head` request option
8
+ - rename `net`
9
+ - [cli] rename ab-results.json
10
+ - [status] yield `headers` (library usage)
11
+ - [gem] update `parallel` dependency to `1.8`
12
+
5
13
  # 1.8.2
6
14
 
7
15
  - [output] add link line number for dupes
data/README.md CHANGED
@@ -108,7 +108,7 @@ Tip: Use the keyword `[ci skip]` in your commit title/message to selectively ski
108
108
 
109
109
  ### Travis CI
110
110
 
111
- 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).
111
+ To use `awesome_bot` with Travis CI, [connect your repo](https://travis-ci.org/) and create a [`.travis.yml` file](https://github.com/ziadoz/awesome-php/blob/master/.travis.yml).
112
112
 
113
113
  ```yml
114
114
  language: ruby
data/awesome_bot.gemspec CHANGED
@@ -21,5 +21,5 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.required_ruby_version = '>= 2.0.0'
23
23
 
24
- spec.add_runtime_dependency 'parallel', '~> 1.6.1' # threading
24
+ spec.add_runtime_dependency 'parallel', '~> 1.8' # threading
25
25
  end
@@ -1,7 +1,7 @@
1
1
  require 'awesome_bot/links'
2
+ require 'awesome_bot/net'
2
3
  require 'awesome_bot/output'
3
4
  require 'awesome_bot/result'
4
- require 'awesome_bot/statuses'
5
5
 
6
6
  # Check links
7
7
  module AwesomeBot
@@ -1,7 +1,6 @@
1
1
  require 'awesome_bot/check'
2
2
  require 'awesome_bot/output'
3
3
  require 'awesome_bot/result'
4
- require 'awesome_bot/statuses'
5
4
  require 'awesome_bot/version'
6
5
 
7
6
  # Command line interface
@@ -12,7 +11,7 @@ module AwesomeBot
12
11
  OPTION_TIMEOUT_SET = 'set-timeout'
13
12
  OPTION_WHITE_LIST = 'white-list'
14
13
 
15
- RESULTS_FILE = 'results.json'
14
+ RESULTS_FILE = 'ab-results.json'
16
15
 
17
16
  USAGE = "\t"
18
17
 
@@ -3,36 +3,40 @@ module AwesomeBot
3
3
  STATUS_ERROR = -1
4
4
 
5
5
  class << self
6
- def net_status(url, timeout=30)
6
+ def net_status(url, timeout=30, head=true)
7
7
  require 'net/http'
8
8
  require 'openssl'
9
9
  require 'uri'
10
10
 
11
11
  uri = URI.parse url
12
12
  Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https', :open_timeout => timeout) do |http|
13
- request = Net::HTTP::Get.new uri
14
- response = http.request request
13
+ if head
14
+ request = Net::HTTP::Head.new uri
15
+ else
16
+ request = Net::HTTP::Get.new uri
17
+ end
18
+ response = http.request request
15
19
 
16
- code = response.code==nil ? 200 : response.code.to_i
20
+ code = response.code==nil ? 200 : response.code.to_i
17
21
 
18
- headers = {}
19
- response.each { |k, v| headers[k] = v }
22
+ headers = {}
23
+ response.each { |k, v| headers[k] = v }
20
24
 
21
- return [code, headers]
22
- end
25
+ return [code, headers]
26
+ end
23
27
  end
24
28
 
25
29
  def status_is_redirected?(status)
26
30
  (status > 299) && (status < 400)
27
31
  end
28
32
 
29
- def statuses(links, threads, timeout)
33
+ def statuses(links, threads, timeout, head=true)
30
34
  require 'parallel'
31
35
 
32
36
  statuses = []
33
37
  Parallel.each(links, in_threads: threads) do |u|
34
38
  begin
35
- status, headers = net_status u, timeout
39
+ status, headers = net_status u, timeout, head
36
40
  error = nil # nil (success)
37
41
  rescue => e
38
42
  status = STATUS_ERROR
@@ -40,7 +44,7 @@ module AwesomeBot
40
44
  error = e
41
45
  end
42
46
 
43
- yield status, u if block_given?
47
+ yield status, u, headers if block_given?
44
48
  statuses.push('url' => u, 'status' => status, 'error' => error, 'headers' => headers)
45
49
  end # Parallel
46
50
 
@@ -1,6 +1,5 @@
1
1
  # Result
2
2
  module AwesomeBot
3
- require 'awesome_bot/statuses'
4
3
  require 'awesome_bot/white_list'
5
4
 
6
5
  # Result
@@ -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.2'
8
+ VERSION = '1.8.3'
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awesome_bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.2
4
+ version: 1.8.3
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-05-02 00:00:00.000000000 Z
11
+ date: 2016-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.1
19
+ version: '1.8'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 1.6.1
26
+ version: '1.8'
27
27
  description: Check for valid and duplicate URLs in a file. Great for "awesome" projects.
28
28
  email:
29
29
  - dkhamsing8@gmail.com
@@ -59,9 +59,9 @@ files:
59
59
  - lib/awesome_bot/check.rb
60
60
  - lib/awesome_bot/cli.rb
61
61
  - lib/awesome_bot/links.rb
62
+ - lib/awesome_bot/net.rb
62
63
  - lib/awesome_bot/output.rb
63
64
  - lib/awesome_bot/result.rb
64
- - lib/awesome_bot/statuses.rb
65
65
  - lib/awesome_bot/version.rb
66
66
  - lib/awesome_bot/white_list.rb
67
67
  - status/README.md