epitools 0.4.2 → 0.4.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.
- data/VERSION +1 -1
- data/epitools.gemspec +2 -2
- data/lib/epitools/browser/browser_cache.rb +2 -7
- data/lib/epitools/clitools.rb +1 -0
- data/spec/browser_spec.rb +6 -63
- metadata +9 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.3
|
data/epitools.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{epitools}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["epitron"]
|
12
|
-
s.date = %q{2011-01-
|
12
|
+
s.date = %q{2011-01-14}
|
13
13
|
s.description = %q{Miscellaneous utility libraries to make my life easier.}
|
14
14
|
s.email = %q{chris@ill-logic.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -35,7 +35,6 @@ class CacheDB
|
|
35
35
|
url = page.uri.to_s
|
36
36
|
|
37
37
|
p [:page_uri, url]
|
38
|
-
p [:original_url, url]
|
39
38
|
|
40
39
|
if url != original_url
|
41
40
|
# redirect original_url to url
|
@@ -49,7 +48,7 @@ class CacheDB
|
|
49
48
|
)
|
50
49
|
end
|
51
50
|
|
52
|
-
compressed_body =
|
51
|
+
compressed_body = Zlib::Deflate.deflate(page.body)
|
53
52
|
expire(url) if options[:overwrite]
|
54
53
|
db.execute(
|
55
54
|
"INSERT INTO cache VALUES ( ?, ?, ?, ? )",
|
@@ -72,7 +71,7 @@ class CacheDB
|
|
72
71
|
if redirect
|
73
72
|
get(redirect)
|
74
73
|
else
|
75
|
-
body =
|
74
|
+
body = Zlib::Inflate.inflate(compressed_body)
|
76
75
|
|
77
76
|
Mechanize::Page.new(
|
78
77
|
URI.parse(url),
|
@@ -151,10 +150,6 @@ class CacheDB
|
|
151
150
|
create_tables
|
152
151
|
end
|
153
152
|
|
154
|
-
def delete!
|
155
|
-
File.unlink @filename
|
156
|
-
end
|
157
|
-
|
158
153
|
private
|
159
154
|
|
160
155
|
def list_tables
|
data/lib/epitools/clitools.rb
CHANGED
data/spec/browser_spec.rb
CHANGED
@@ -1,71 +1,14 @@
|
|
1
1
|
require 'epitools/browser'
|
2
2
|
|
3
|
-
|
4
|
-
#
|
5
|
-
# before :all do
|
6
|
-
# @browser = Browser.new
|
7
|
-
# end
|
8
|
-
#
|
9
|
-
# after :all do
|
10
|
-
# @browser.cache.delete!
|
11
|
-
# end
|
12
|
-
#
|
13
|
-
# it "googles" do
|
14
|
-
# page = @browser.get("http://google.com")
|
15
|
-
# page.body["Feeling Lucky"].should_not be_empty
|
16
|
-
# end
|
17
|
-
#
|
18
|
-
#end
|
19
|
-
|
20
|
-
class Mechanize::Page
|
21
|
-
def url
|
22
|
-
uri.to_s
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
describe CacheDB do
|
3
|
+
describe Browser do
|
27
4
|
|
28
5
|
before :all do
|
29
|
-
@
|
30
|
-
CacheDB.new(@agent).delete!
|
31
|
-
@cache = CacheDB.new(@agent)
|
32
|
-
end
|
33
|
-
|
34
|
-
def new_page(body, url)
|
35
|
-
Mechanize::Page.new(
|
36
|
-
URI.parse(url),
|
37
|
-
{'content-type'=>'text/html'},
|
38
|
-
body,
|
39
|
-
nil,
|
40
|
-
@agent
|
41
|
-
)
|
42
|
-
end
|
43
|
-
|
44
|
-
after :all do
|
45
|
-
#@cache.delete!
|
6
|
+
@browser = Browser.new
|
46
7
|
end
|
47
|
-
|
48
|
-
it "
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
page = new_page(body, url)
|
53
|
-
|
54
|
-
page.body.should == body
|
55
|
-
page.url.should == url
|
56
|
-
|
57
|
-
@cache.put page, url
|
58
|
-
|
59
|
-
p @cache.urls
|
60
|
-
|
61
|
-
@cache.includes?(url).should == true
|
62
|
-
|
63
|
-
result = @cache.get url
|
64
|
-
|
65
|
-
body.should == page.body
|
66
|
-
body.should == result.body
|
67
|
-
url.should == page.url
|
68
|
-
url.should == result.url
|
8
|
+
|
9
|
+
it "googles" do
|
10
|
+
page = @browser.get("http://google.com")
|
11
|
+
page.body["Feeling Lucky"].should_not be_empty
|
69
12
|
end
|
70
13
|
|
71
14
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: epitools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 9
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
9
|
+
- 3
|
10
|
+
version: 0.4.3
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- epitron
|
@@ -14,7 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2011-01-
|
18
|
+
date: 2011-01-14 00:00:00 -05:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
@@ -25,6 +26,7 @@ dependencies:
|
|
25
26
|
requirements:
|
26
27
|
- - ~>
|
27
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
28
30
|
segments:
|
29
31
|
- 2
|
30
32
|
- 2
|
@@ -40,6 +42,7 @@ dependencies:
|
|
40
42
|
requirements:
|
41
43
|
- - ~>
|
42
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 23
|
43
46
|
segments:
|
44
47
|
- 1
|
45
48
|
- 0
|
@@ -55,6 +58,7 @@ dependencies:
|
|
55
58
|
requirements:
|
56
59
|
- - ">="
|
57
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
58
62
|
segments:
|
59
63
|
- 0
|
60
64
|
version: "0"
|
@@ -125,6 +129,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
125
129
|
requirements:
|
126
130
|
- - ">="
|
127
131
|
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
128
133
|
segments:
|
129
134
|
- 0
|
130
135
|
version: "0"
|
@@ -133,6 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
138
|
requirements:
|
134
139
|
- - ">="
|
135
140
|
- !ruby/object:Gem::Version
|
141
|
+
hash: 3
|
136
142
|
segments:
|
137
143
|
- 0
|
138
144
|
version: "0"
|