feedtools 0.2.13 → 0.2.14
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2 -0
- data/lib/feed_tools.rb +1 -1
- data/lib/feed_tools/feed.rb +7 -4
- data/rakefile +1 -1
- data/test/cache_test.rb +18 -0
- metadata +1 -1
data/CHANGELOG
CHANGED
data/lib/feed_tools.rb
CHANGED
@@ -32,7 +32,7 @@ FEED_TOOLS_ENV = ENV['FEED_TOOLS_ENV'] ||
|
|
32
32
|
ENV['RAILS_ENV'] ||
|
33
33
|
'production' # :nodoc:
|
34
34
|
|
35
|
-
FEED_TOOLS_VERSION = "0.2.
|
35
|
+
FEED_TOOLS_VERSION = "0.2.14"
|
36
36
|
|
37
37
|
$:.unshift(File.dirname(__FILE__))
|
38
38
|
$:.unshift(File.dirname(__FILE__) + "/feed_tools/vendor")
|
data/lib/feed_tools/feed.rb
CHANGED
@@ -1789,9 +1789,11 @@ module FeedTools
|
|
1789
1789
|
return @live
|
1790
1790
|
end
|
1791
1791
|
|
1792
|
-
# True if the feed has expired and must be reacquired from the remote
|
1792
|
+
# True if the feed has expired and must be reacquired from the remote
|
1793
|
+
# server.
|
1793
1794
|
def expired?
|
1794
|
-
return self.last_retrieved == nil ||
|
1795
|
+
return self.last_retrieved == nil ||
|
1796
|
+
(self.last_retrieved + self.time_to_live) < Time.now
|
1795
1797
|
end
|
1796
1798
|
|
1797
1799
|
# Forces this feed to expire.
|
@@ -1800,8 +1802,9 @@ module FeedTools
|
|
1800
1802
|
self.save
|
1801
1803
|
end
|
1802
1804
|
|
1803
|
-
# A hook method that is called during the feed generation process.
|
1804
|
-
# will enable additional content to be
|
1805
|
+
# A hook method that is called during the feed generation process.
|
1806
|
+
# Overriding this method will enable additional content to be
|
1807
|
+
# inserted into the feed.
|
1805
1808
|
def build_xml_hook(feed_type, version, xml_builder)
|
1806
1809
|
return nil
|
1807
1810
|
end
|
data/rakefile
CHANGED
data/test/cache_test.rb
CHANGED
@@ -53,4 +53,22 @@ class CacheTest < Test::Unit::TestCase
|
|
53
53
|
entries = FeedTools::DatabaseFeedCache.find_all_by_url(slashdot_feed.url)
|
54
54
|
assert_equal(1, entries.size)
|
55
55
|
end
|
56
|
+
|
57
|
+
def test_cached_item_expiration
|
58
|
+
# Ensure the cache is on for this test
|
59
|
+
FeedTools.feed_cache = FeedTools::DatabaseFeedCache
|
60
|
+
|
61
|
+
slashdot_feed = FeedTools::Feed.open('http://www.slashdot.org/index.rss')
|
62
|
+
assert(slashdot_feed.feed_data != nil, "No content retrieved.")
|
63
|
+
slashdot_feed.expire!
|
64
|
+
assert_equal(true, slashdot_feed.expired?)
|
65
|
+
slashdot_feed = FeedTools::Feed.open('http://www.slashdot.org/index.rss')
|
66
|
+
assert(slashdot_feed.feed_data != nil, "No content retrieved.")
|
67
|
+
assert_equal(true, slashdot_feed.live?)
|
68
|
+
slashdot_feed.time_to_live = 1.hour
|
69
|
+
slashdot_feed.last_retrieved = (Time.now - 55.minute)
|
70
|
+
assert_equal(false, slashdot_feed.expired?)
|
71
|
+
slashdot_feed.last_retrieved = (Time.now - 61.minute)
|
72
|
+
assert_equal(true, slashdot_feed.expired?)
|
73
|
+
end
|
56
74
|
end
|
metadata
CHANGED