klepto 0.4.2 → 0.4.5
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/README.md +5 -1
- data/lib/klepto/bot.rb +12 -2
- data/lib/klepto/config.rb +1 -0
- data/lib/klepto/version.rb +1 -1
- data/spec/lib/klepto/structure_spec.rb +3 -0
- metadata +11 -11
data/README.md
CHANGED
data/lib/klepto/bot.rb
CHANGED
@@ -45,6 +45,11 @@ EOS
|
|
45
45
|
|
46
46
|
browser.set_headers config.headers
|
47
47
|
#browser.set_driver config.driver
|
48
|
+
|
49
|
+
# Call before(:each) handlers...
|
50
|
+
config.before_handlers[:each].each { |bh|
|
51
|
+
bh.call(structure._hash, url, browser)
|
52
|
+
}
|
48
53
|
|
49
54
|
begin
|
50
55
|
browser.fetch! url
|
@@ -54,7 +59,7 @@ EOS
|
|
54
59
|
|
55
60
|
# Fire callbacks on GET
|
56
61
|
config.after_handlers[:get].each do |ah|
|
57
|
-
ah.call(browser.page)
|
62
|
+
ah.call(browser.page, browser, url)
|
58
63
|
end
|
59
64
|
|
60
65
|
# Capybara automatically follows redirects... Checking the page here
|
@@ -73,7 +78,12 @@ EOS
|
|
73
78
|
# If the page was not a failure or if not aborting, structure that bad boy.
|
74
79
|
if (browser.failure? && config.abort_on_failure?) || (config.abort_on_redirect? && statuses.include?(:redirect))
|
75
80
|
config.after_handlers[:abort].each do |ah|
|
76
|
-
ah.call(browser.page
|
81
|
+
ah.call(browser.page,{
|
82
|
+
browser_failure: browser.failure?,
|
83
|
+
abort_on_failure: config.abort_on_failure?,
|
84
|
+
abort_on_redirect: config.abort_on_redirect?,
|
85
|
+
redirect: statuses.include?(:redirect)
|
86
|
+
})
|
77
87
|
end
|
78
88
|
else
|
79
89
|
resources << __structure(browser.page)
|
data/lib/klepto/config.rb
CHANGED
data/lib/klepto/version.rb
CHANGED
@@ -40,5 +40,8 @@ describe Klepto::Structure do
|
|
40
40
|
@structure[:username].should eq '@justinbieber'
|
41
41
|
@structure[:last_tweet][:twitter_id].should == @structure[:tweets].first[:twitter_id]
|
42
42
|
end
|
43
|
+
|
44
|
+
pending 'should be able to specify an :unless statement for a collection'
|
45
|
+
pending 'should be able to specify an :if statement for a collection'
|
43
46
|
end
|
44
47
|
end
|
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.4.
|
4
|
+
version: 0.4.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2013-05-29 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: poltergeist
|
16
|
-
requirement: &
|
16
|
+
requirement: &70250867811560 !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: *70250867811560
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: capybara
|
27
|
-
requirement: &
|
27
|
+
requirement: &70250867811060 !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: *70250867811060
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: nokogiri
|
38
|
-
requirement: &
|
38
|
+
requirement: &70250867810600 !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: *70250867810600
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activesupport
|
49
|
-
requirement: &
|
49
|
+
requirement: &70250867810220 !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: *70250867810220
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: multi_json
|
60
|
-
requirement: &
|
60
|
+
requirement: &70250867809680 !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: *70250867809680
|
69
69
|
description: Tearing up web pages into ActiveRecord resources
|
70
70
|
email:
|
71
71
|
- github@coryodaniel.com
|