klepto 0.5.5 → 0.5.6
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.
- data/lib/klepto/bot.rb +3 -2
- data/lib/klepto/browser.rb +7 -6
- data/lib/klepto/version.rb +1 -1
- metadata +12 -12
data/lib/klepto/bot.rb
CHANGED
@@ -18,6 +18,7 @@ module Klepto
|
|
18
18
|
def queue; @queue; end;
|
19
19
|
def browser; @browser; end;
|
20
20
|
def url=(_url); @config.url(_url); end;
|
21
|
+
def process!; __process!; end;
|
21
22
|
def structure; @structure; end;
|
22
23
|
def method_missing(meth, *args, &block)
|
23
24
|
raise NoMethodError.new("undefined method: Klepto::Bot#" + meth.to_s)
|
@@ -54,7 +55,7 @@ EOS
|
|
54
55
|
# If the page was not a failure or if not aborting, structure that bad boy.
|
55
56
|
if (@browser.failure? && @config.abort_on_failure?) || (@config.abort_on_redirect? && @browser.was_redirected?)
|
56
57
|
@config.after_handlers[:abort].each do |ah|
|
57
|
-
ah.call(browser.page,{
|
58
|
+
ah.call(@browser.page,{
|
58
59
|
browser_failure: @browser.failure?,
|
59
60
|
abort_on_failure: @config.abort_on_failure?,
|
60
61
|
abort_on_redirect: @config.abort_on_redirect?,
|
@@ -65,7 +66,7 @@ EOS
|
|
65
66
|
@structure = __structure(@browser.page)
|
66
67
|
end
|
67
68
|
rescue Capybara::Poltergeist::TimeoutError => ex
|
68
|
-
config.dispatch_timeout_handler(ex, url)
|
69
|
+
config.dispatch_timeout_handler(ex, @config.url)
|
69
70
|
end
|
70
71
|
|
71
72
|
@structure
|
data/lib/klepto/browser.rb
CHANGED
@@ -2,7 +2,7 @@ module Klepto
|
|
2
2
|
class Browser
|
3
3
|
include Capybara::DSL
|
4
4
|
|
5
|
-
attr_reader :
|
5
|
+
attr_reader :desired_url
|
6
6
|
def initialize(*args)
|
7
7
|
Klepto.logger.debug("===== Initializing new browser. =====")
|
8
8
|
super
|
@@ -33,7 +33,7 @@ module Klepto
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def was_redirected?
|
36
|
-
@
|
36
|
+
@url_to_structure != page.current_url
|
37
37
|
end
|
38
38
|
|
39
39
|
# Capybara automatically follows redirects... Checking the page here
|
@@ -53,11 +53,12 @@ module Klepto
|
|
53
53
|
page.status_code.to_s[0..-3] + "xx"
|
54
54
|
end
|
55
55
|
|
56
|
-
def fetch!(
|
57
|
-
@
|
58
|
-
Klepto.logger.debug("Fetching #{
|
56
|
+
def fetch!(_url)
|
57
|
+
@url_to_structure = _url
|
58
|
+
Klepto.logger.debug("Fetching #{@url_to_structure}")
|
59
|
+
|
59
60
|
#Capybara.using_driver use_driver do
|
60
|
-
visit
|
61
|
+
visit @url_to_structure
|
61
62
|
page
|
62
63
|
#end
|
63
64
|
end
|
data/lib/klepto/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: klepto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-06-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: poltergeist
|
16
|
-
requirement: &
|
16
|
+
requirement: &70303485583440 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - =
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70303485583440
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: capybara
|
27
|
-
requirement: &
|
27
|
+
requirement: &70303485582940 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.0.2
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70303485582940
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: nokogiri
|
38
|
-
requirement: &
|
38
|
+
requirement: &70303485582480 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.5.6
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70303485582480
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activesupport
|
49
|
-
requirement: &
|
49
|
+
requirement: &70303485582100 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70303485582100
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: multi_json
|
60
|
-
requirement: &
|
60
|
+
requirement: &70303485581560 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '1.0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70303485581560
|
69
69
|
description: Tearing up web pages into ActiveRecord resources
|
70
70
|
email:
|
71
71
|
- github@coryodaniel.com
|