awesome_bot 1.8.2 → 1.8.3

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: 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