public-suffix-list 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/public_suffix_list.rb +3 -3
- data/lib/public_suffix_list/cache_file.rb +3 -15
- data/spec/caching.spec +11 -10
- metadata +2 -2
data/lib/public_suffix_list.rb
CHANGED
@@ -6,7 +6,7 @@ require "public_suffix_list/parser.rb"
|
|
6
6
|
|
7
7
|
class PublicSuffixList
|
8
8
|
|
9
|
-
VERSION = "0.0.
|
9
|
+
VERSION = "0.0.5"
|
10
10
|
|
11
11
|
def self.config
|
12
12
|
@@config ||= Config.new
|
@@ -38,9 +38,9 @@ class PublicSuffixList
|
|
38
38
|
if @config.cache_dir
|
39
39
|
@cache_file = CacheFile.new(@config)
|
40
40
|
end
|
41
|
-
if @
|
41
|
+
if @cache_file and @cache_file.exist?
|
42
42
|
uncache or (download and cache)
|
43
|
-
elsif @
|
43
|
+
elsif @cache_file
|
44
44
|
download and cache
|
45
45
|
else
|
46
46
|
download
|
@@ -7,15 +7,11 @@ class PublicSuffixList
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def cache?
|
10
|
-
@config.cache_dir && true
|
11
|
-
end
|
12
|
-
|
13
|
-
def name
|
14
|
-
URI.parse(@config.effective_tld_names_url).path.split("/").last + ".cache" if cache?
|
10
|
+
@config.cache_dir && File.directory?(@config.cache_dir) && true
|
15
11
|
end
|
16
12
|
|
17
13
|
def file
|
18
|
-
File.join(@config.cache_dir,
|
14
|
+
File.join(@config.cache_dir, URI.parse(@config.effective_tld_names_url).path.split("/").last + ".cache") if cache?
|
19
15
|
end
|
20
16
|
|
21
17
|
def exist?
|
@@ -35,7 +31,7 @@ class PublicSuffixList
|
|
35
31
|
end
|
36
32
|
|
37
33
|
def data
|
38
|
-
@data or (load_data and @data) or @data = {:created_at => Time.now}
|
34
|
+
@data or (load_data and @data) or @data = {:created_at => Time.now, :tag => rand(36**8).to_s(36)}
|
39
35
|
end
|
40
36
|
|
41
37
|
def data=(data)
|
@@ -46,14 +42,6 @@ class PublicSuffixList
|
|
46
42
|
!cache? or !([0, nil].include?(@config.cache_expiry_period) or data[:created_at] + @config.cache_expiry_period > Time.now)
|
47
43
|
end
|
48
44
|
|
49
|
-
def read_attribute(attribute)
|
50
|
-
data[attribute]
|
51
|
-
end
|
52
|
-
|
53
|
-
def write_attribute(attribute, value)
|
54
|
-
data[attribute] = value
|
55
|
-
end
|
56
|
-
|
57
45
|
end
|
58
46
|
|
59
47
|
end
|
data/spec/caching.spec
CHANGED
@@ -14,20 +14,21 @@ describe PublicSuffixList do
|
|
14
14
|
public_suffix_list = PublicSuffixList.new(:effective_tld_names_url => "spec/test.dat", :cache_dir => Dir.tmpdir, :cache_expiry_period => 10)
|
15
15
|
public_suffix_list.cache_file.cache?.should be true
|
16
16
|
public_suffix_list.cache_file.exist?.should be true
|
17
|
-
created_at = public_suffix_list.cache_file.
|
18
|
-
tag = public_suffix_list.cache_file.
|
17
|
+
created_at = public_suffix_list.cache_file.data[:created_at]
|
18
|
+
tag = public_suffix_list.cache_file.data[:tag]
|
19
19
|
public_suffix_list = PublicSuffixList.new(:effective_tld_names_url => "spec/test.dat", :cache_dir => Dir.tmpdir, :cache_expiry_period => 10)
|
20
20
|
public_suffix_list.cache_file.cache?.should be true
|
21
21
|
public_suffix_list.cache_file.exist?.should be true
|
22
|
-
public_suffix_list.cache_file.
|
23
|
-
public_suffix_list.cache_file.
|
24
|
-
public_suffix_list.cache_file.
|
22
|
+
public_suffix_list.cache_file.data[:created_at].should == created_at
|
23
|
+
public_suffix_list.cache_file.data[:tag].should == tag
|
24
|
+
public_suffix_list.cache_file.data[:created_at] = Time.now - 100
|
25
|
+
public_suffix_list.cache_file.data[:tag] = "1234567890"
|
25
26
|
public_suffix_list.cache_file.dump_data
|
26
27
|
public_suffix_list = PublicSuffixList.new(:effective_tld_names_url => "spec/test.dat", :cache_dir => Dir.tmpdir, :cache_expiry_period => 10)
|
27
28
|
public_suffix_list.cache_file.cache?.should be true
|
28
29
|
public_suffix_list.cache_file.exist?.should be true
|
29
|
-
public_suffix_list.cache_file.
|
30
|
-
public_suffix_list.cache_file.
|
30
|
+
public_suffix_list.cache_file.data[:created_at].should_not == created_at
|
31
|
+
public_suffix_list.cache_file.data[:tag].should_not == tag
|
31
32
|
end
|
32
33
|
|
33
34
|
it "should allow 0 or nil to specify an infinite cache expiry period" do
|
@@ -35,7 +36,7 @@ describe PublicSuffixList do
|
|
35
36
|
public_suffix_list = PublicSuffixList.new(:effective_tld_names_url => "spec/test.dat", :cache_dir => Dir.tmpdir, :cache_expiry_period => 10)
|
36
37
|
public_suffix_list.cache_file.exist?.should be true
|
37
38
|
public_suffix_list.cache_file.expired?.should be false
|
38
|
-
public_suffix_list.cache_file.
|
39
|
+
public_suffix_list.cache_file.data[:created_at] = Time.now - 100
|
39
40
|
public_suffix_list.cache_file.expired?.should be true
|
40
41
|
public_suffix_list.cache_file.exist?.should be true
|
41
42
|
public_suffix_list.cache_file.delete
|
@@ -43,7 +44,7 @@ describe PublicSuffixList do
|
|
43
44
|
public_suffix_list = PublicSuffixList.new(:effective_tld_names_url => "spec/test.dat", :cache_dir => Dir.tmpdir, :cache_expiry_period => 0)
|
44
45
|
public_suffix_list.cache_file.exist?.should be true
|
45
46
|
public_suffix_list.cache_file.expired?.should be false
|
46
|
-
public_suffix_list.cache_file.
|
47
|
+
public_suffix_list.cache_file.data[:created_at] = Time.now - 10000000
|
47
48
|
public_suffix_list.cache_file.expired?.should be false
|
48
49
|
public_suffix_list.cache_file.exist?.should be true
|
49
50
|
public_suffix_list.cache_file.delete
|
@@ -51,7 +52,7 @@ describe PublicSuffixList do
|
|
51
52
|
public_suffix_list = PublicSuffixList.new(:effective_tld_names_url => "spec/test.dat", :cache_dir => Dir.tmpdir, :cache_expiry_period => nil)
|
52
53
|
public_suffix_list.cache_file.exist?.should be true
|
53
54
|
public_suffix_list.cache_file.expired?.should be false
|
54
|
-
public_suffix_list.cache_file.
|
55
|
+
public_suffix_list.cache_file.data[:created_at] = Time.now - 10000000
|
55
56
|
public_suffix_list.cache_file.expired?.should be false
|
56
57
|
public_suffix_list.cache_file.exist?.should be true
|
57
58
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: public-suffix-list
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Sundsted
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-01-
|
12
|
+
date: 2010-01-12 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|