grell 1.6.2 → 1.6.4

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: 3afa2c4a7602651c1120450604bb129b5141a2cb
4
- data.tar.gz: 6b047d176835d70ece39ddfc8f0d1f947c509297
3
+ metadata.gz: d96a4b468d41e32bf37e86fd2f7688eaba9e290b
4
+ data.tar.gz: b90fe28a5776478668db3f7a3451d3e15000680e
5
5
  SHA512:
6
- metadata.gz: 6abace1d5c825dc06b5f46cc432b63457f8b3d1c904f6d041714bd2f7925216797cb6c36be23cb40210bb8dcd15c9408681c048f01379f5263e6c732029281a5
7
- data.tar.gz: a6e12d878deca33d25be3dfd88c945a7a149e47b3eed4e2269c651a6ad1a51ceeb29d1b07e9a75066bf86823e1488b1a2583284566722f4829c2e3b707839e26
6
+ metadata.gz: da5a76f9c558836c1f16f51689b094caffece98ed7cbc254a7603a28b8c4b0699d5f2dd07f29a70f234ab9be9af25cc645974a293331f413c66c4756003e125e
7
+ data.tar.gz: 1d299821051f559c5253f63e18437a69ba97764b9bf21018bb223e5380380530b7d8e8e722c0c319f4628a3f0be2f1d5d8d91d33eeba9c0cb6dc46af4233646a
data/.travis.yml ADDED
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ cache: bundler
3
+ sudo: false
4
+
5
+ rvm:
6
+ - 2.2.4
7
+ - 2.3.0
8
+ script: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 1.6.4
2
+ * Added #quit to Capybara driver
3
+
4
+ # 1.6.3
5
+ * Only follow visible links
6
+
1
7
  # 1.6.2
2
8
  * Reset Capybara driver to Puffing Billy (used to rewrite URL requests in specs)
3
9
  * Use float timestamp for Poltergeist driver name to support fast test executions
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Grell
2
2
 
3
+ [![Build Status](https://travis-ci.org/mdsol/grell.svg?branch=develop)](https://travis-ci.org/mdsol/grell)
4
+
3
5
  Grell is a generic crawler for the web written in Ruby.
4
6
  It can be used to gather data, test pages in a given domain, etc.
5
7
 
data/grell.gemspec CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.required_ruby_version = '>= 1.9.3'
23
23
 
24
- spec.add_dependency 'capybara', '~> 2.2'
25
- spec.add_dependency 'poltergeist', '~> 1.8'
24
+ spec.add_dependency 'capybara', '~> 2.7'
25
+ spec.add_dependency 'poltergeist', '~> 1.9'
26
26
 
27
27
  spec.add_development_dependency "bundler", "~> 1.6"
28
28
  spec.add_development_dependency "byebug", "~> 4.0"
@@ -40,6 +40,10 @@ module Grell
40
40
 
41
41
  @poltergeist_driver
42
42
  end
43
+
44
+ def quit
45
+ @poltergeist_driver.quit
46
+ end
43
47
  end
44
48
 
45
49
  end
data/lib/grell/rawpage.rb CHANGED
@@ -23,7 +23,8 @@ module Grell
23
23
  def all_anchors
24
24
  # Some elements may not be "a" elements but still provide a link. This usually is done for Javascript
25
25
  # to convert other elements which are not links to be able to be clicked naturally.
26
- all('[href]', visible: false).to_a + all('[data-href]', visible: false).to_a
26
+ # Only return links which are visible.
27
+ all('[href]', visible: true).to_a + all('[data-href]', visible: true).to_a
27
28
  end
28
29
 
29
30
 
data/lib/grell/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Grell
2
- VERSION = "1.6.2"
2
+ VERSION = "1.6.4".freeze
3
3
  end
@@ -23,14 +23,21 @@ RSpec.describe Grell::CapybaraDriver do
23
23
  driver = Grell::CapybaraDriver.new.setup_capybara
24
24
  expect(driver).to be_instance_of(Capybara::Poltergeist::Driver)
25
25
  end
26
+ end
26
27
 
27
- after do
28
- Timecop.return
29
-
30
- # Reset Capybara so future tests can easily stub HTTP requests
31
- Capybara.javascript_driver = :poltergeist_billy
32
- Capybara.default_driver = :poltergeist_billy
28
+ describe 'quit' do
29
+ let(:driver) { Grell::CapybaraDriver.new.setup_capybara }
30
+ it 'quits the poltergeist driver' do
31
+ expect_any_instance_of(Capybara::Poltergeist::Driver).to receive(:quit)
32
+ driver.quit
33
33
  end
34
34
  end
35
35
 
36
+ after do
37
+ Timecop.return
38
+
39
+ # Reset Capybara so future tests can easily stub HTTP requests
40
+ Capybara.javascript_driver = :poltergeist_billy
41
+ Capybara.default_driver = :poltergeist_billy
42
+ end
36
43
  end
@@ -21,6 +21,7 @@ RSpec.describe Grell::Crawler do
21
21
  it 'can provide your own logger' do
22
22
  Grell::Crawler.new(external_driver: true, logger: 33)
23
23
  expect(Grell.logger).to eq(33)
24
+ Grell.logger = Logger.new(nil)
24
25
  end
25
26
 
26
27
  it 'provides a stdout logger if nothing provided' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grell
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.2
4
+ version: 1.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordi Polo Carres
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-23 00:00:00.000000000 Z
11
+ date: 2016-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: '2.7'
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: '2.2'
26
+ version: '2.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: poltergeist
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.8'
33
+ version: '1.9'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.8'
40
+ version: '1.9'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -158,6 +158,7 @@ extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
160
  - ".rspec"
161
+ - ".travis.yml"
161
162
  - CHANGELOG.md
162
163
  - Gemfile
163
164
  - LICENSE.txt
@@ -199,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
200
  version: '0'
200
201
  requirements: []
201
202
  rubyforge_project:
202
- rubygems_version: 2.4.8
203
+ rubygems_version: 2.5.1
203
204
  signing_key:
204
205
  specification_version: 4
205
206
  summary: Ruby web crawler