feedtools 0.2.26 → 0.2.27

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.
Files changed (166) hide show
  1. data/CHANGELOG +232 -216
  2. data/db/migration.rb +2 -0
  3. data/db/schema.mysql.sql +2 -0
  4. data/db/schema.postgresql.sql +3 -1
  5. data/db/schema.sqlite.sql +3 -1
  6. data/lib/feed_tools.rb +37 -14
  7. data/lib/feed_tools/database_feed_cache.rb +13 -2
  8. data/lib/feed_tools/feed.rb +430 -104
  9. data/lib/feed_tools/feed_item.rb +533 -268
  10. data/lib/feed_tools/helpers/generic_helper.rb +1 -1
  11. data/lib/feed_tools/helpers/html_helper.rb +78 -116
  12. data/lib/feed_tools/helpers/retrieval_helper.rb +33 -3
  13. data/lib/feed_tools/helpers/uri_helper.rb +46 -54
  14. data/lib/feed_tools/monkey_patch.rb +27 -1
  15. data/lib/feed_tools/vendor/html5/History.txt +10 -0
  16. data/lib/feed_tools/vendor/html5/Manifest.txt +117 -0
  17. data/lib/feed_tools/vendor/html5/README +45 -0
  18. data/lib/feed_tools/vendor/html5/Rakefile.rb +33 -0
  19. data/lib/feed_tools/vendor/html5/bin/html5 +217 -0
  20. data/lib/feed_tools/vendor/html5/lib/core_ext/string.rb +17 -0
  21. data/lib/feed_tools/vendor/html5/lib/html5.rb +13 -0
  22. data/lib/feed_tools/vendor/html5/lib/html5/constants.rb +1046 -0
  23. data/lib/feed_tools/vendor/html5/lib/html5/filters/base.rb +10 -0
  24. data/lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb +82 -0
  25. data/lib/feed_tools/vendor/html5/lib/html5/filters/iso639codes.rb +752 -0
  26. data/lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb +198 -0
  27. data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc2046.rb +30 -0
  28. data/lib/feed_tools/vendor/html5/lib/html5/filters/rfc3987.rb +89 -0
  29. data/lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb +15 -0
  30. data/lib/feed_tools/vendor/html5/lib/html5/filters/validator.rb +830 -0
  31. data/lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb +36 -0
  32. data/lib/feed_tools/vendor/html5/lib/html5/html5parser.rb +248 -0
  33. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb +46 -0
  34. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb +33 -0
  35. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb +50 -0
  36. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb +41 -0
  37. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb +613 -0
  38. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb +69 -0
  39. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb +78 -0
  40. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb +55 -0
  41. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb +57 -0
  42. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb +138 -0
  43. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb +89 -0
  44. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb +85 -0
  45. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb +86 -0
  46. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb +115 -0
  47. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb +133 -0
  48. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb +154 -0
  49. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb +41 -0
  50. data/lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb +35 -0
  51. data/lib/feed_tools/vendor/html5/lib/html5/inputstream.rb +648 -0
  52. data/lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb +158 -0
  53. data/lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb +188 -0
  54. data/lib/feed_tools/vendor/html5/lib/html5/serializer.rb +2 -0
  55. data/lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb +179 -0
  56. data/lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb +20 -0
  57. data/lib/feed_tools/vendor/html5/lib/html5/sniffer.rb +45 -0
  58. data/lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb +966 -0
  59. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders.rb +24 -0
  60. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb +334 -0
  61. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb +231 -0
  62. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb +209 -0
  63. data/lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb +185 -0
  64. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers.rb +26 -0
  65. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb +162 -0
  66. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb +48 -0
  67. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb +48 -0
  68. data/lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb +48 -0
  69. data/lib/feed_tools/vendor/html5/lib/html5/version.rb +3 -0
  70. data/lib/feed_tools/vendor/html5/testdata/encoding/chardet/test_big5.txt +51 -0
  71. data/lib/feed_tools/vendor/html5/testdata/encoding/test-yahoo-jp.dat +10 -0
  72. data/lib/feed_tools/vendor/html5/testdata/encoding/tests1.dat +394 -0
  73. data/lib/feed_tools/vendor/html5/testdata/encoding/tests2.dat +81 -0
  74. data/lib/feed_tools/vendor/html5/testdata/sanitizer/tests1.dat +416 -0
  75. data/lib/feed_tools/vendor/html5/testdata/serializer/core.test +104 -0
  76. data/lib/feed_tools/vendor/html5/testdata/serializer/injectmeta.test +65 -0
  77. data/lib/feed_tools/vendor/html5/testdata/serializer/optionaltags.test +900 -0
  78. data/lib/feed_tools/vendor/html5/testdata/serializer/options.test +60 -0
  79. data/lib/feed_tools/vendor/html5/testdata/serializer/whitespace.test +51 -0
  80. data/lib/feed_tools/vendor/html5/testdata/sites/google-results.htm +1 -0
  81. data/lib/feed_tools/vendor/html5/testdata/sites/python-ref-import.htm +1 -0
  82. data/lib/feed_tools/vendor/html5/testdata/sites/web-apps-old.htm +1 -0
  83. data/lib/feed_tools/vendor/html5/testdata/sites/web-apps.htm +34275 -0
  84. data/lib/feed_tools/vendor/html5/testdata/sniffer/htmlOrFeed.json +43 -0
  85. data/lib/feed_tools/vendor/html5/testdata/tokenizer/contentModelFlags.test +48 -0
  86. data/lib/feed_tools/vendor/html5/testdata/tokenizer/entities.test +2339 -0
  87. data/lib/feed_tools/vendor/html5/testdata/tokenizer/escapeFlag.test +21 -0
  88. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test1.test +172 -0
  89. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test2.test +129 -0
  90. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test3.test +367 -0
  91. data/lib/feed_tools/vendor/html5/testdata/tokenizer/test4.test +198 -0
  92. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests1.dat +1950 -0
  93. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests2.dat +773 -0
  94. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests3.dat +270 -0
  95. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests4.dat +60 -0
  96. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests5.dat +175 -0
  97. data/lib/feed_tools/vendor/html5/testdata/tree-construction/tests6.dat +196 -0
  98. data/lib/feed_tools/vendor/html5/testdata/validator/attributes.test +1035 -0
  99. data/lib/feed_tools/vendor/html5/testdata/validator/base-href-attribute.test +787 -0
  100. data/lib/feed_tools/vendor/html5/testdata/validator/base-target-attribute.test +35 -0
  101. data/lib/feed_tools/vendor/html5/testdata/validator/blockquote-cite-attribute.test +7 -0
  102. data/lib/feed_tools/vendor/html5/testdata/validator/classattribute.test +152 -0
  103. data/lib/feed_tools/vendor/html5/testdata/validator/contenteditableattribute.test +59 -0
  104. data/lib/feed_tools/vendor/html5/testdata/validator/contextmenuattribute.test +115 -0
  105. data/lib/feed_tools/vendor/html5/testdata/validator/dirattribute.test +59 -0
  106. data/lib/feed_tools/vendor/html5/testdata/validator/draggableattribute.test +63 -0
  107. data/lib/feed_tools/vendor/html5/testdata/validator/html-xmlns-attribute.test +23 -0
  108. data/lib/feed_tools/vendor/html5/testdata/validator/idattribute.test +115 -0
  109. data/lib/feed_tools/vendor/html5/testdata/validator/inputattributes.test +2795 -0
  110. data/lib/feed_tools/vendor/html5/testdata/validator/irrelevantattribute.test +63 -0
  111. data/lib/feed_tools/vendor/html5/testdata/validator/langattribute.test +5579 -0
  112. data/lib/feed_tools/vendor/html5/testdata/validator/li-value-attribute.test +7 -0
  113. data/lib/feed_tools/vendor/html5/testdata/validator/link-href-attribute.test +7 -0
  114. data/lib/feed_tools/vendor/html5/testdata/validator/link-hreflang-attribute.test +7 -0
  115. data/lib/feed_tools/vendor/html5/testdata/validator/link-rel-attribute.test +271 -0
  116. data/lib/feed_tools/vendor/html5/testdata/validator/ol-start-attribute.test +7 -0
  117. data/lib/feed_tools/vendor/html5/testdata/validator/starttags.test +375 -0
  118. data/lib/feed_tools/vendor/html5/testdata/validator/style-scoped-attribute.test +7 -0
  119. data/lib/feed_tools/vendor/html5/testdata/validator/tabindexattribute.test +79 -0
  120. data/lib/feed_tools/vendor/html5/tests/preamble.rb +72 -0
  121. data/lib/feed_tools/vendor/html5/tests/test_encoding.rb +35 -0
  122. data/lib/feed_tools/vendor/html5/tests/test_lxp.rb +279 -0
  123. data/lib/feed_tools/vendor/html5/tests/test_parser.rb +68 -0
  124. data/lib/feed_tools/vendor/html5/tests/test_sanitizer.rb +142 -0
  125. data/lib/feed_tools/vendor/html5/tests/test_serializer.rb +68 -0
  126. data/lib/feed_tools/vendor/html5/tests/test_sniffer.rb +27 -0
  127. data/lib/feed_tools/vendor/html5/tests/test_stream.rb +62 -0
  128. data/lib/feed_tools/vendor/html5/tests/test_tokenizer.rb +94 -0
  129. data/lib/feed_tools/vendor/html5/tests/test_treewalkers.rb +135 -0
  130. data/lib/feed_tools/vendor/html5/tests/test_validator.rb +31 -0
  131. data/lib/feed_tools/vendor/html5/tests/tokenizer_test_parser.rb +63 -0
  132. data/lib/feed_tools/vendor/uri.rb +781 -0
  133. data/lib/feed_tools/version.rb +1 -1
  134. data/rakefile +27 -6
  135. data/test/unit/atom_test.rb +298 -210
  136. data/test/unit/helper_test.rb +7 -12
  137. data/test/unit/rdf_test.rb +51 -1
  138. data/test/unit/rss_test.rb +13 -3
  139. metadata +239 -116
  140. data/lib/feed_tools/vendor/htree.rb +0 -97
  141. data/lib/feed_tools/vendor/htree/container.rb +0 -10
  142. data/lib/feed_tools/vendor/htree/context.rb +0 -67
  143. data/lib/feed_tools/vendor/htree/display.rb +0 -27
  144. data/lib/feed_tools/vendor/htree/doc.rb +0 -149
  145. data/lib/feed_tools/vendor/htree/elem.rb +0 -262
  146. data/lib/feed_tools/vendor/htree/encoder.rb +0 -163
  147. data/lib/feed_tools/vendor/htree/equality.rb +0 -218
  148. data/lib/feed_tools/vendor/htree/extract_text.rb +0 -37
  149. data/lib/feed_tools/vendor/htree/fstr.rb +0 -33
  150. data/lib/feed_tools/vendor/htree/gencode.rb +0 -97
  151. data/lib/feed_tools/vendor/htree/htmlinfo.rb +0 -672
  152. data/lib/feed_tools/vendor/htree/inspect.rb +0 -108
  153. data/lib/feed_tools/vendor/htree/leaf.rb +0 -94
  154. data/lib/feed_tools/vendor/htree/loc.rb +0 -367
  155. data/lib/feed_tools/vendor/htree/modules.rb +0 -48
  156. data/lib/feed_tools/vendor/htree/name.rb +0 -124
  157. data/lib/feed_tools/vendor/htree/output.rb +0 -207
  158. data/lib/feed_tools/vendor/htree/parse.rb +0 -409
  159. data/lib/feed_tools/vendor/htree/raw_string.rb +0 -124
  160. data/lib/feed_tools/vendor/htree/regexp-util.rb +0 -15
  161. data/lib/feed_tools/vendor/htree/rexml.rb +0 -130
  162. data/lib/feed_tools/vendor/htree/scan.rb +0 -166
  163. data/lib/feed_tools/vendor/htree/tag.rb +0 -111
  164. data/lib/feed_tools/vendor/htree/template.rb +0 -909
  165. data/lib/feed_tools/vendor/htree/text.rb +0 -115
  166. data/lib/feed_tools/vendor/htree/traverse.rb +0 -465
@@ -71,6 +71,7 @@ class HelperTest < Test::Unit::TestCase
71
71
  end
72
72
 
73
73
  def test_normalize_url
74
+ assert_equal("", FeedTools::UriHelper.normalize_url(""))
74
75
  assert_equal("http://slashdot.org/",
75
76
  FeedTools::UriHelper.normalize_url("slashdot.org"))
76
77
  assert_equal("http://example.com/index.php",
@@ -101,15 +102,6 @@ class HelperTest < Test::Unit::TestCase
101
102
  end
102
103
  end
103
104
 
104
- def test_sanitize_html
105
- assert_equal("<!--foo-->", FeedTools::HtmlHelper.sanitize_html("<!--foo-->"))
106
- assert_equal("<P>Upper-case tags</P>",
107
- FeedTools::HtmlHelper.sanitize_html("<P>Upper-case tags</P>"))
108
- assert_equal("<A HREF='/dev/null'>Upper-case attributes</A>",
109
- FeedTools::HtmlHelper.sanitize_html(
110
- "<A HREF='/dev/null'>Upper-case attributes</A>"))
111
- end
112
-
113
105
  def test_tidy_html
114
106
  FeedTools.configurations[:tidy_enabled] = true
115
107
  unless FeedTools::HtmlHelper.tidy_enabled?
@@ -169,9 +161,12 @@ class HelperTest < Test::Unit::TestCase
169
161
  end
170
162
 
171
163
  def test_build_merged_feed
172
- merged_feed = FeedTools.build_merged_feed([
173
- "http://rss.slashdot.org/Slashdot/slashdot"
174
- ])
164
+ if FeedTools::FEED_TOOLS_VERSION::MINOR == 2 &&
165
+ FeedTools::FEED_TOOLS_VERSION::TINY <= 26
166
+ merged_feed = FeedTools.build_merged_feed([
167
+ "http://rss.slashdot.org/Slashdot/slashdot"
168
+ ])
169
+ end
175
170
  end
176
171
 
177
172
  def test_extract_xhtml
@@ -14,6 +14,56 @@ class RdfTest < Test::Unit::TestCase
14
14
  File.expand_path(File.dirname(__FILE__)) + '/../feeds')
15
15
  end
16
16
 
17
- def test_nothing_yet
17
+ def test_embedded_atom_self_link
18
+ with_feed(:from_data => <<-FEED
19
+ <?xml version="1.0" encoding="UTF-8"?>
20
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
21
+ xmlns="http://purl.org/rss/1.0/">
22
+ <channel rdf:about="http://example.com/">
23
+ <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom"
24
+ rel="self" type="application/rss+xml"
25
+ href="http://example.com/feed.rdf" />
26
+ </channel>
27
+ </rdf:RDF>
28
+ FEED
29
+ ) { |feed|
30
+ assert_equal("http://example.com/", feed.link)
31
+ assert_equal("http://example.com/feed.rdf", feed.href)
32
+ assert_equal("http://example.com/feed.rdf", feed.base_uri)
33
+ }
34
+ end
35
+
36
+ def test_relative_uri_resolution
37
+ with_feed(:from_data => <<-FEED
38
+ <?xml version="1.0" encoding="UTF-8"?>
39
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
40
+ xmlns="http://purl.org/rss/1.0/">
41
+ <channel rdf:about="http://example.com/">
42
+ <items>
43
+ <rdf:Seq>
44
+ <rdf:li rdf:resource="http://example.com/entry/" />
45
+ </rdf:Seq>
46
+ </items>
47
+ <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom"
48
+ rel="self" type="application/rss+xml"
49
+ href="http://example.com/feed.rdf" />
50
+ </channel>
51
+ <item rdf:about="http://example.com/entry/">
52
+ <link>http://example.com/entry/</link>
53
+ <description>
54
+ A relative &lt;a href="/relative/location/"&gt;uri&lt;/a&gt;.
55
+ </description>
56
+ </item>
57
+ </rdf:RDF>
58
+ FEED
59
+ ) { |feed|
60
+ assert_equal("http://example.com/", feed.link)
61
+ assert_equal("http://example.com/feed.rdf", feed.href)
62
+ assert_equal("http://example.com/feed.rdf", feed.base_uri)
63
+ assert_equal(1, feed.items.size)
64
+ assert_equal("http://example.com/entry/", feed.items[0].link)
65
+ assert_equal(1, feed.items[0].description.scan(
66
+ "http://example.com/relative/location/").size)
67
+ }
18
68
  end
19
69
  end
@@ -39,11 +39,13 @@ class RssTest < Test::Unit::TestCase
39
39
  with_feed(:from_file => 'wellformed/rss/channel_title_apos.xml') { |feed|
40
40
  assert_equal("Mark's title", feed.title)
41
41
  }
42
+ # The assumption is always that we are going to be displaying
43
+ # this as HTML output. Therefore the return value is escaped.
42
44
  with_feed(:from_file => 'wellformed/rss/channel_title_gt.xml') { |feed|
43
- assert_equal("2 > 1", feed.title)
45
+ assert_equal("2 &gt; 1", feed.title)
44
46
  }
45
47
  with_feed(:from_file => 'wellformed/rss/channel_title_lt.xml') { |feed|
46
- assert_equal("1 < 2", feed.title)
48
+ assert_equal("1 &lt; 2", feed.title)
47
49
  }
48
50
  with_feed(:from_file => 'wellformed/rss/channel_dc_title.xml') { |feed|
49
51
  assert_equal("Example title", feed.title)
@@ -222,6 +224,12 @@ class RssTest < Test::Unit::TestCase
222
224
  with_feed(:from_file => 'wellformed/rss/channel_dc_rights.xml') { |feed|
223
225
  assert_equal("Example copyright", feed.copyright)
224
226
  }
227
+
228
+ # temp
229
+ with_feed(:from_file => 'wellformed/rss/channel_dc_rights.xml') { |feed|
230
+ assert_equal("Example copyright", feed.rights)
231
+ assert_equal(nil, feed.license)
232
+ }
225
233
  end
226
234
 
227
235
  def test_feed_cloud
@@ -305,7 +313,9 @@ class RssTest < Test::Unit::TestCase
305
313
  assert_equal(nil, feed.entries.first.title)
306
314
  }
307
315
  with_feed(:from_file => 'wellformed/rss/item_description_not_a_doctype.xml') { |feed|
308
- assert_equal('&lt;!\' <a href="foo">', feed.entries.first.description)
316
+ assert(feed.entries.first.description != nil)
317
+ assert_equal(1, feed.entries.first.description.scan(
318
+ '&lt;!\' <a href=').size)
309
319
  assert_equal(nil, feed.entries.first.title)
310
320
  }
311
321
  with_feed(:from_file => 'wellformed/rss/item_content_encoded.xml') { |feed|
metadata CHANGED
@@ -1,48 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
3
- specification_version: 1
4
2
  name: feedtools
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.2.26
7
- date: 2006-07-20 00:00:00 -04:00
8
- summary: Parsing, generation, and caching system for xml news feeds.
9
- require_paths:
10
- - lib
11
- email: bob@sporkmonger.com
12
- homepage: http://sporkmonger.com/projects/feedtools
13
- rubyforge_project: feedtools
14
- description: Implements a simple system for handling xml news feeds with caching.
15
- autorequire: feed_tools
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.2.27
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Bob Aman
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-01-31 00:00:00 -05:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activerecord
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.10.1
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: uuidtools
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 1.0.0
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: builder
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.2.4
41
+ version:
42
+ description: Implements a simple system for handling xml news feeds with caching.
43
+ email: bob@sporkmonger.com
44
+ executables: []
45
+
46
+ extensions: []
47
+
48
+ extra_rdoc_files:
49
+ - README
31
50
  files:
32
51
  - rakefile
33
52
  - install.rb
34
53
  - README
35
54
  - CHANGELOG
36
55
  - lib/feed_tools
37
- - lib/feed_tools.rb
38
56
  - lib/feed_tools/database_feed_cache.rb
39
57
  - lib/feed_tools/feed.rb
40
58
  - lib/feed_tools/feed_item.rb
41
59
  - lib/feed_tools/feed_structures.rb
42
60
  - lib/feed_tools/helpers
43
- - lib/feed_tools/monkey_patch.rb
44
- - lib/feed_tools/vendor
45
- - lib/feed_tools/version.rb
46
61
  - lib/feed_tools/helpers/debug_helper.rb
47
62
  - lib/feed_tools/helpers/feed_helper.rb
48
63
  - lib/feed_tools/helpers/feed_item_helper.rb
@@ -52,50 +67,152 @@ files:
52
67
  - lib/feed_tools/helpers/retrieval_helper.rb
53
68
  - lib/feed_tools/helpers/uri_helper.rb
54
69
  - lib/feed_tools/helpers/xml_helper.rb
55
- - lib/feed_tools/vendor/htree
56
- - lib/feed_tools/vendor/htree.rb
57
- - lib/feed_tools/vendor/htree/container.rb
58
- - lib/feed_tools/vendor/htree/context.rb
59
- - lib/feed_tools/vendor/htree/display.rb
60
- - lib/feed_tools/vendor/htree/doc.rb
61
- - lib/feed_tools/vendor/htree/elem.rb
62
- - lib/feed_tools/vendor/htree/encoder.rb
63
- - lib/feed_tools/vendor/htree/equality.rb
64
- - lib/feed_tools/vendor/htree/extract_text.rb
65
- - lib/feed_tools/vendor/htree/fstr.rb
66
- - lib/feed_tools/vendor/htree/gencode.rb
67
- - lib/feed_tools/vendor/htree/htmlinfo.rb
68
- - lib/feed_tools/vendor/htree/inspect.rb
69
- - lib/feed_tools/vendor/htree/leaf.rb
70
- - lib/feed_tools/vendor/htree/loc.rb
71
- - lib/feed_tools/vendor/htree/modules.rb
72
- - lib/feed_tools/vendor/htree/name.rb
73
- - lib/feed_tools/vendor/htree/output.rb
74
- - lib/feed_tools/vendor/htree/parse.rb
75
- - lib/feed_tools/vendor/htree/raw_string.rb
76
- - lib/feed_tools/vendor/htree/regexp-util.rb
77
- - lib/feed_tools/vendor/htree/rexml.rb
78
- - lib/feed_tools/vendor/htree/scan.rb
79
- - lib/feed_tools/vendor/htree/tag.rb
80
- - lib/feed_tools/vendor/htree/template.rb
81
- - lib/feed_tools/vendor/htree/text.rb
82
- - lib/feed_tools/vendor/htree/traverse.rb
70
+ - lib/feed_tools/monkey_patch.rb
71
+ - lib/feed_tools/vendor
72
+ - lib/feed_tools/vendor/html5
73
+ - lib/feed_tools/vendor/html5/bin
74
+ - lib/feed_tools/vendor/html5/bin/html5
75
+ - lib/feed_tools/vendor/html5/History.txt
76
+ - lib/feed_tools/vendor/html5/lib
77
+ - lib/feed_tools/vendor/html5/lib/core_ext
78
+ - lib/feed_tools/vendor/html5/lib/core_ext/string.rb
79
+ - lib/feed_tools/vendor/html5/lib/html5
80
+ - lib/feed_tools/vendor/html5/lib/html5/constants.rb
81
+ - lib/feed_tools/vendor/html5/lib/html5/filters
82
+ - lib/feed_tools/vendor/html5/lib/html5/filters/base.rb
83
+ - lib/feed_tools/vendor/html5/lib/html5/filters/inject_meta_charset.rb
84
+ - lib/feed_tools/vendor/html5/lib/html5/filters/iso639codes.rb
85
+ - lib/feed_tools/vendor/html5/lib/html5/filters/optionaltags.rb
86
+ - lib/feed_tools/vendor/html5/lib/html5/filters/rfc2046.rb
87
+ - lib/feed_tools/vendor/html5/lib/html5/filters/rfc3987.rb
88
+ - lib/feed_tools/vendor/html5/lib/html5/filters/sanitizer.rb
89
+ - lib/feed_tools/vendor/html5/lib/html5/filters/validator.rb
90
+ - lib/feed_tools/vendor/html5/lib/html5/filters/whitespace.rb
91
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser
92
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/after_body_phase.rb
93
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/after_frameset_phase.rb
94
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/after_head_phase.rb
95
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/before_head_phase.rb
96
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_body_phase.rb
97
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_caption_phase.rb
98
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_cell_phase.rb
99
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_column_group_phase.rb
100
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_frameset_phase.rb
101
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_head_phase.rb
102
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_row_phase.rb
103
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_select_phase.rb
104
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_body_phase.rb
105
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/in_table_phase.rb
106
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/initial_phase.rb
107
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/phase.rb
108
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/root_element_phase.rb
109
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser/trailing_end_phase.rb
110
+ - lib/feed_tools/vendor/html5/lib/html5/html5parser.rb
111
+ - lib/feed_tools/vendor/html5/lib/html5/inputstream.rb
112
+ - lib/feed_tools/vendor/html5/lib/html5/liberalxmlparser.rb
113
+ - lib/feed_tools/vendor/html5/lib/html5/sanitizer.rb
114
+ - lib/feed_tools/vendor/html5/lib/html5/serializer
115
+ - lib/feed_tools/vendor/html5/lib/html5/serializer/htmlserializer.rb
116
+ - lib/feed_tools/vendor/html5/lib/html5/serializer/xhtmlserializer.rb
117
+ - lib/feed_tools/vendor/html5/lib/html5/serializer.rb
118
+ - lib/feed_tools/vendor/html5/lib/html5/sniffer.rb
119
+ - lib/feed_tools/vendor/html5/lib/html5/tokenizer.rb
120
+ - lib/feed_tools/vendor/html5/lib/html5/treebuilders
121
+ - lib/feed_tools/vendor/html5/lib/html5/treebuilders/base.rb
122
+ - lib/feed_tools/vendor/html5/lib/html5/treebuilders/hpricot.rb
123
+ - lib/feed_tools/vendor/html5/lib/html5/treebuilders/rexml.rb
124
+ - lib/feed_tools/vendor/html5/lib/html5/treebuilders/simpletree.rb
125
+ - lib/feed_tools/vendor/html5/lib/html5/treebuilders.rb
126
+ - lib/feed_tools/vendor/html5/lib/html5/treewalkers
127
+ - lib/feed_tools/vendor/html5/lib/html5/treewalkers/base.rb
128
+ - lib/feed_tools/vendor/html5/lib/html5/treewalkers/hpricot.rb
129
+ - lib/feed_tools/vendor/html5/lib/html5/treewalkers/rexml.rb
130
+ - lib/feed_tools/vendor/html5/lib/html5/treewalkers/simpletree.rb
131
+ - lib/feed_tools/vendor/html5/lib/html5/treewalkers.rb
132
+ - lib/feed_tools/vendor/html5/lib/html5/version.rb
133
+ - lib/feed_tools/vendor/html5/lib/html5.rb
134
+ - lib/feed_tools/vendor/html5/Manifest.txt
135
+ - lib/feed_tools/vendor/html5/Rakefile.rb
136
+ - lib/feed_tools/vendor/html5/README
137
+ - lib/feed_tools/vendor/html5/testdata
138
+ - lib/feed_tools/vendor/html5/testdata/encoding
139
+ - lib/feed_tools/vendor/html5/testdata/encoding/chardet
140
+ - lib/feed_tools/vendor/html5/testdata/encoding/chardet/test_big5.txt
141
+ - lib/feed_tools/vendor/html5/testdata/encoding/test-yahoo-jp.dat
142
+ - lib/feed_tools/vendor/html5/testdata/encoding/tests1.dat
143
+ - lib/feed_tools/vendor/html5/testdata/encoding/tests2.dat
144
+ - lib/feed_tools/vendor/html5/testdata/sanitizer
145
+ - lib/feed_tools/vendor/html5/testdata/sanitizer/tests1.dat
146
+ - lib/feed_tools/vendor/html5/testdata/serializer
147
+ - lib/feed_tools/vendor/html5/testdata/serializer/core.test
148
+ - lib/feed_tools/vendor/html5/testdata/serializer/injectmeta.test
149
+ - lib/feed_tools/vendor/html5/testdata/serializer/optionaltags.test
150
+ - lib/feed_tools/vendor/html5/testdata/serializer/options.test
151
+ - lib/feed_tools/vendor/html5/testdata/serializer/whitespace.test
152
+ - lib/feed_tools/vendor/html5/testdata/sites
153
+ - lib/feed_tools/vendor/html5/testdata/sites/google-results.htm
154
+ - lib/feed_tools/vendor/html5/testdata/sites/python-ref-import.htm
155
+ - lib/feed_tools/vendor/html5/testdata/sites/web-apps-old.htm
156
+ - lib/feed_tools/vendor/html5/testdata/sites/web-apps.htm
157
+ - lib/feed_tools/vendor/html5/testdata/sniffer
158
+ - lib/feed_tools/vendor/html5/testdata/sniffer/htmlOrFeed.json
159
+ - lib/feed_tools/vendor/html5/testdata/tokenizer
160
+ - lib/feed_tools/vendor/html5/testdata/tokenizer/contentModelFlags.test
161
+ - lib/feed_tools/vendor/html5/testdata/tokenizer/entities.test
162
+ - lib/feed_tools/vendor/html5/testdata/tokenizer/escapeFlag.test
163
+ - lib/feed_tools/vendor/html5/testdata/tokenizer/test1.test
164
+ - lib/feed_tools/vendor/html5/testdata/tokenizer/test2.test
165
+ - lib/feed_tools/vendor/html5/testdata/tokenizer/test3.test
166
+ - lib/feed_tools/vendor/html5/testdata/tokenizer/test4.test
167
+ - lib/feed_tools/vendor/html5/testdata/tree-construction
168
+ - lib/feed_tools/vendor/html5/testdata/tree-construction/tests1.dat
169
+ - lib/feed_tools/vendor/html5/testdata/tree-construction/tests2.dat
170
+ - lib/feed_tools/vendor/html5/testdata/tree-construction/tests3.dat
171
+ - lib/feed_tools/vendor/html5/testdata/tree-construction/tests4.dat
172
+ - lib/feed_tools/vendor/html5/testdata/tree-construction/tests5.dat
173
+ - lib/feed_tools/vendor/html5/testdata/tree-construction/tests6.dat
174
+ - lib/feed_tools/vendor/html5/testdata/validator
175
+ - lib/feed_tools/vendor/html5/testdata/validator/attributes.test
176
+ - lib/feed_tools/vendor/html5/testdata/validator/base-href-attribute.test
177
+ - lib/feed_tools/vendor/html5/testdata/validator/base-target-attribute.test
178
+ - lib/feed_tools/vendor/html5/testdata/validator/blockquote-cite-attribute.test
179
+ - lib/feed_tools/vendor/html5/testdata/validator/classattribute.test
180
+ - lib/feed_tools/vendor/html5/testdata/validator/contenteditableattribute.test
181
+ - lib/feed_tools/vendor/html5/testdata/validator/contextmenuattribute.test
182
+ - lib/feed_tools/vendor/html5/testdata/validator/dirattribute.test
183
+ - lib/feed_tools/vendor/html5/testdata/validator/draggableattribute.test
184
+ - lib/feed_tools/vendor/html5/testdata/validator/html-xmlns-attribute.test
185
+ - lib/feed_tools/vendor/html5/testdata/validator/idattribute.test
186
+ - lib/feed_tools/vendor/html5/testdata/validator/inputattributes.test
187
+ - lib/feed_tools/vendor/html5/testdata/validator/irrelevantattribute.test
188
+ - lib/feed_tools/vendor/html5/testdata/validator/langattribute.test
189
+ - lib/feed_tools/vendor/html5/testdata/validator/li-value-attribute.test
190
+ - lib/feed_tools/vendor/html5/testdata/validator/link-href-attribute.test
191
+ - lib/feed_tools/vendor/html5/testdata/validator/link-hreflang-attribute.test
192
+ - lib/feed_tools/vendor/html5/testdata/validator/link-rel-attribute.test
193
+ - lib/feed_tools/vendor/html5/testdata/validator/ol-start-attribute.test
194
+ - lib/feed_tools/vendor/html5/testdata/validator/starttags.test
195
+ - lib/feed_tools/vendor/html5/testdata/validator/style-scoped-attribute.test
196
+ - lib/feed_tools/vendor/html5/testdata/validator/tabindexattribute.test
197
+ - lib/feed_tools/vendor/html5/tests
198
+ - lib/feed_tools/vendor/html5/tests/preamble.rb
199
+ - lib/feed_tools/vendor/html5/tests/test_encoding.rb
200
+ - lib/feed_tools/vendor/html5/tests/test_lxp.rb
201
+ - lib/feed_tools/vendor/html5/tests/test_parser.rb
202
+ - lib/feed_tools/vendor/html5/tests/test_sanitizer.rb
203
+ - lib/feed_tools/vendor/html5/tests/test_serializer.rb
204
+ - lib/feed_tools/vendor/html5/tests/test_sniffer.rb
205
+ - lib/feed_tools/vendor/html5/tests/test_stream.rb
206
+ - lib/feed_tools/vendor/html5/tests/test_tokenizer.rb
207
+ - lib/feed_tools/vendor/html5/tests/test_treewalkers.rb
208
+ - lib/feed_tools/vendor/html5/tests/test_validator.rb
209
+ - lib/feed_tools/vendor/html5/tests/tokenizer_test_parser.rb
210
+ - lib/feed_tools/vendor/uri.rb
211
+ - lib/feed_tools/version.rb
212
+ - lib/feed_tools.rb
83
213
  - test/feeds
84
- - test/unit
85
214
  - test/feeds/illformed
86
- - test/feeds/wellformed
87
215
  - test/feeds/illformed/amp
88
- - test/feeds/illformed/atom
89
- - test/feeds/illformed/base
90
- - test/feeds/illformed/cdf
91
- - test/feeds/illformed/date
92
- - test/feeds/illformed/encoding
93
- - test/feeds/illformed/entities
94
- - test/feeds/illformed/lang
95
- - test/feeds/illformed/namespace
96
- - test/feeds/illformed/rdf
97
- - test/feeds/illformed/rss
98
- - test/feeds/illformed/sanitize
99
216
  - test/feeds/illformed/amp/amp01.xml
100
217
  - test/feeds/illformed/amp/amp02.xml
101
218
  - test/feeds/illformed/amp/amp03.xml
@@ -160,6 +277,7 @@ files:
160
277
  - test/feeds/illformed/amp/amp62.xml
161
278
  - test/feeds/illformed/amp/amp63.xml
162
279
  - test/feeds/illformed/amp/amp64.xml
280
+ - test/feeds/illformed/atom
163
281
  - test/feeds/illformed/atom/atom_namespace_1.xml
164
282
  - test/feeds/illformed/atom/atom_namespace_2.xml
165
283
  - test/feeds/illformed/atom/atom_namespace_3.xml
@@ -300,6 +418,7 @@ files:
300
418
  - test/feeds/illformed/atom/relative_uri.xml
301
419
  - test/feeds/illformed/atom/relative_uri_inherit.xml
302
420
  - test/feeds/illformed/atom/relative_uri_inherit_2.xml
421
+ - test/feeds/illformed/base
303
422
  - test/feeds/illformed/base/cdf_item_abstract_xml_base.xml
304
423
  - test/feeds/illformed/base/entry_content_xml_base.xml
305
424
  - test/feeds/illformed/base/entry_content_xml_base_inherit.xml
@@ -418,6 +537,7 @@ files:
418
537
  - test/feeds/illformed/base/http_item_wfw_commentRSS_base_docuri.xml
419
538
  - test/feeds/illformed/base/http_item_xhtml_body_base_content_location.xml
420
539
  - test/feeds/illformed/base/http_item_xhtml_body_base_docuri.xml
540
+ - test/feeds/illformed/cdf
421
541
  - test/feeds/illformed/cdf/channel_abstract_map_description.xml
422
542
  - test/feeds/illformed/cdf/channel_abstract_map_tagline.xml
423
543
  - test/feeds/illformed/cdf/channel_href_map_link.xml
@@ -428,6 +548,7 @@ files:
428
548
  - test/feeds/illformed/cdf/item_href_map_link.xml
429
549
  - test/feeds/illformed/cdf/item_href_map_links.xml
430
550
  - test/feeds/illformed/cdf/item_title.xml
551
+ - test/feeds/illformed/date
431
552
  - test/feeds/illformed/date/cdf_channel_lastmod_map_date.xml
432
553
  - test/feeds/illformed/date/cdf_channel_lastmod_map_modified.xml
433
554
  - test/feeds/illformed/date/cdf_channel_lastmod_map_modified_parsed.xml
@@ -530,6 +651,7 @@ files:
530
651
  - test/feeds/illformed/date/item_pubDate_euc-kr.xml
531
652
  - test/feeds/illformed/date/item_pubDate_map_modified.xml
532
653
  - test/feeds/illformed/date/item_pubDate_rfc2822.xml
654
+ - test/feeds/illformed/encoding
533
655
  - test/feeds/illformed/encoding/bogus_encoding.xml
534
656
  - test/feeds/illformed/encoding/encoding_mismatch_crash.xml
535
657
  - test/feeds/illformed/encoding/http_i18n.xml
@@ -679,6 +801,7 @@ files:
679
801
  - test/feeds/illformed/encoding/x80_windows_1256.xml
680
802
  - test/feeds/illformed/encoding/x80_windows_1257.xml
681
803
  - test/feeds/illformed/encoding/x80_windows_1258.xml
804
+ - test/feeds/illformed/entities
682
805
  - test/feeds/illformed/entities/160.xml
683
806
  - test/feeds/illformed/entities/732.xml
684
807
  - test/feeds/illformed/entities/8216.xml
@@ -930,6 +1053,7 @@ files:
930
1053
  - test/feeds/illformed/entities/zeta.xml
931
1054
  - test/feeds/illformed/entities/zwj.xml
932
1055
  - test/feeds/illformed/entities/zwnj.xml
1056
+ - test/feeds/illformed/lang
933
1057
  - test/feeds/illformed/lang/channel_dc_language.xml
934
1058
  - test/feeds/illformed/lang/channel_language.xml
935
1059
  - test/feeds/illformed/lang/entry_content_xml_lang.xml
@@ -993,6 +1117,7 @@ files:
993
1117
  - test/feeds/illformed/lang/item_fullitem_xml_lang_inherit.xml
994
1118
  - test/feeds/illformed/lang/item_xhtml_body_xml_lang.xml
995
1119
  - test/feeds/illformed/lang/item_xhtml_body_xml_lang_inherit.xml
1120
+ - test/feeds/illformed/namespace
996
1121
  - test/feeds/illformed/namespace/rss1.0withModules.xml
997
1122
  - test/feeds/illformed/namespace/rss1.0withModulesNoDefNS.xml
998
1123
  - test/feeds/illformed/namespace/rss1.0withModulesNoDefNSLocalNameClash.xml
@@ -1001,6 +1126,7 @@ files:
1001
1126
  - test/feeds/illformed/namespace/rss2.0NSwithModules.xml
1002
1127
  - test/feeds/illformed/namespace/rss2.0NSwithModulesNoDefNS.xml
1003
1128
  - test/feeds/illformed/namespace/rss2.0NSwithModulesNoDefNSLocalNameClash.xml
1129
+ - test/feeds/illformed/rdf
1004
1130
  - test/feeds/illformed/rdf/rdf_channel_description.xml
1005
1131
  - test/feeds/illformed/rdf/rdf_channel_empty_textinput.xml
1006
1132
  - test/feeds/illformed/rdf/rdf_channel_link.xml
@@ -1013,6 +1139,7 @@ files:
1013
1139
  - test/feeds/illformed/rdf/rss090_item_title.xml
1014
1140
  - test/feeds/illformed/rdf/rss_version_10.xml
1015
1141
  - test/feeds/illformed/rdf/rss_version_10_not_default_ns.xml
1142
+ - test/feeds/illformed/rss
1016
1143
  - test/feeds/illformed/rss/aaa_illformed.xml
1017
1144
  - test/feeds/illformed/rss/channel_author.xml
1018
1145
  - test/feeds/illformed/rss/channel_author_map_author_detail_email.xml
@@ -1147,6 +1274,7 @@ files:
1147
1274
  - test/feeds/illformed/rss/rss_version_201.xml
1148
1275
  - test/feeds/illformed/rss/rss_version_21.xml
1149
1276
  - test/feeds/illformed/rss/rss_version_missing.xml
1277
+ - test/feeds/illformed/sanitize
1150
1278
  - test/feeds/illformed/sanitize/entry_content_applet.xml
1151
1279
  - test/feeds/illformed/sanitize/entry_content_blink.xml
1152
1280
  - test/feeds/illformed/sanitize/entry_content_crazy.xml
@@ -1564,18 +1692,8 @@ files:
1564
1692
  - test/feeds/illformed/sanitize/item_xhtml_body_script.xml
1565
1693
  - test/feeds/illformed/sanitize/item_xhtml_body_script_map_content.xml
1566
1694
  - test/feeds/illformed/sanitize/item_xhtml_body_style.xml
1695
+ - test/feeds/wellformed
1567
1696
  - test/feeds/wellformed/amp
1568
- - test/feeds/wellformed/atom
1569
- - test/feeds/wellformed/base
1570
- - test/feeds/wellformed/cdf
1571
- - test/feeds/wellformed/date
1572
- - test/feeds/wellformed/encoding
1573
- - test/feeds/wellformed/http
1574
- - test/feeds/wellformed/lang
1575
- - test/feeds/wellformed/namespace
1576
- - test/feeds/wellformed/rdf
1577
- - test/feeds/wellformed/rss
1578
- - test/feeds/wellformed/sanitize
1579
1697
  - test/feeds/wellformed/amp/amp01.xml
1580
1698
  - test/feeds/wellformed/amp/amp02.xml
1581
1699
  - test/feeds/wellformed/amp/amp03.xml
@@ -1640,6 +1758,7 @@ files:
1640
1758
  - test/feeds/wellformed/amp/amp62.xml
1641
1759
  - test/feeds/wellformed/amp/amp63.xml
1642
1760
  - test/feeds/wellformed/amp/amp64.xml
1761
+ - test/feeds/wellformed/atom
1643
1762
  - test/feeds/wellformed/atom/atom_namespace_1.xml
1644
1763
  - test/feeds/wellformed/atom/atom_namespace_2.xml
1645
1764
  - test/feeds/wellformed/atom/atom_namespace_3.xml
@@ -1780,6 +1899,7 @@ files:
1780
1899
  - test/feeds/wellformed/atom/relative_uri.xml
1781
1900
  - test/feeds/wellformed/atom/relative_uri_inherit.xml
1782
1901
  - test/feeds/wellformed/atom/relative_uri_inherit_2.xml
1902
+ - test/feeds/wellformed/base
1783
1903
  - test/feeds/wellformed/base/cdf_item_abstract_xml_base.xml
1784
1904
  - test/feeds/wellformed/base/entry_content_xml_base.xml
1785
1905
  - test/feeds/wellformed/base/entry_content_xml_base_inherit.xml
@@ -1898,6 +2018,7 @@ files:
1898
2018
  - test/feeds/wellformed/base/http_item_wfw_commentRSS_base_docuri.xml
1899
2019
  - test/feeds/wellformed/base/http_item_xhtml_body_base_content_location.xml
1900
2020
  - test/feeds/wellformed/base/http_item_xhtml_body_base_docuri.xml
2021
+ - test/feeds/wellformed/cdf
1901
2022
  - test/feeds/wellformed/cdf/channel_abstract_map_description.xml
1902
2023
  - test/feeds/wellformed/cdf/channel_abstract_map_tagline.xml
1903
2024
  - test/feeds/wellformed/cdf/channel_href_map_link.xml
@@ -1908,6 +2029,7 @@ files:
1908
2029
  - test/feeds/wellformed/cdf/item_href_map_link.xml
1909
2030
  - test/feeds/wellformed/cdf/item_href_map_links.xml
1910
2031
  - test/feeds/wellformed/cdf/item_title.xml
2032
+ - test/feeds/wellformed/date
1911
2033
  - test/feeds/wellformed/date/cdf_channel_lastmod_map_date.xml
1912
2034
  - test/feeds/wellformed/date/cdf_channel_lastmod_map_modified.xml
1913
2035
  - test/feeds/wellformed/date/cdf_channel_lastmod_map_modified_parsed.xml
@@ -2010,6 +2132,7 @@ files:
2010
2132
  - test/feeds/wellformed/date/item_pubDate_euc-kr.xml
2011
2133
  - test/feeds/wellformed/date/item_pubDate_map_modified.xml
2012
2134
  - test/feeds/wellformed/date/item_pubDate_rfc2822.xml
2135
+ - test/feeds/wellformed/encoding
2013
2136
  - test/feeds/wellformed/encoding/big5.xml
2014
2137
  - test/feeds/wellformed/encoding/csucs4.xml
2015
2138
  - test/feeds/wellformed/encoding/csunicode.xml
@@ -2213,7 +2336,9 @@ files:
2213
2336
  - test/feeds/wellformed/encoding/x80_windows_1256.xml
2214
2337
  - test/feeds/wellformed/encoding/x80_windows_1257.xml
2215
2338
  - test/feeds/wellformed/encoding/x80_windows_1258.xml
2339
+ - test/feeds/wellformed/http
2216
2340
  - test/feeds/wellformed/http/headers_foo.xml
2341
+ - test/feeds/wellformed/lang
2217
2342
  - test/feeds/wellformed/lang/channel_dc_language.xml
2218
2343
  - test/feeds/wellformed/lang/channel_language.xml
2219
2344
  - test/feeds/wellformed/lang/entry_content_xml_lang.xml
@@ -2277,6 +2402,7 @@ files:
2277
2402
  - test/feeds/wellformed/lang/item_fullitem_xml_lang_inherit.xml
2278
2403
  - test/feeds/wellformed/lang/item_xhtml_body_xml_lang.xml
2279
2404
  - test/feeds/wellformed/lang/item_xhtml_body_xml_lang_inherit.xml
2405
+ - test/feeds/wellformed/namespace
2280
2406
  - test/feeds/wellformed/namespace/rss1.0withModules.xml
2281
2407
  - test/feeds/wellformed/namespace/rss1.0withModulesNoDefNS.xml
2282
2408
  - test/feeds/wellformed/namespace/rss1.0withModulesNoDefNSLocalNameClash.xml
@@ -2285,6 +2411,7 @@ files:
2285
2411
  - test/feeds/wellformed/namespace/rss2.0NSwithModules.xml
2286
2412
  - test/feeds/wellformed/namespace/rss2.0NSwithModulesNoDefNS.xml
2287
2413
  - test/feeds/wellformed/namespace/rss2.0NSwithModulesNoDefNSLocalNameClash.xml
2414
+ - test/feeds/wellformed/rdf
2288
2415
  - test/feeds/wellformed/rdf/doctype_contains_entity_decl.xml
2289
2416
  - test/feeds/wellformed/rdf/rdf_channel_description.xml
2290
2417
  - test/feeds/wellformed/rdf/rdf_channel_link.xml
@@ -2297,6 +2424,7 @@ files:
2297
2424
  - test/feeds/wellformed/rdf/rss090_item_title.xml
2298
2425
  - test/feeds/wellformed/rdf/rss_version_10.xml
2299
2426
  - test/feeds/wellformed/rdf/rss_version_10_not_default_ns.xml
2427
+ - test/feeds/wellformed/rss
2300
2428
  - test/feeds/wellformed/rss/aaa_wellformed.xml
2301
2429
  - test/feeds/wellformed/rss/channel_author.xml
2302
2430
  - test/feeds/wellformed/rss/channel_author_map_author_detail_email.xml
@@ -2432,6 +2560,7 @@ files:
2432
2560
  - test/feeds/wellformed/rss/rss_version_201.xml
2433
2561
  - test/feeds/wellformed/rss/rss_version_21.xml
2434
2562
  - test/feeds/wellformed/rss/rss_version_missing.xml
2563
+ - test/feeds/wellformed/sanitize
2435
2564
  - test/feeds/wellformed/sanitize/entry_content_applet.xml
2436
2565
  - test/feeds/wellformed/sanitize/entry_content_blink.xml
2437
2566
  - test/feeds/wellformed/sanitize/entry_content_crazy.xml
@@ -2849,6 +2978,7 @@ files:
2849
2978
  - test/feeds/wellformed/sanitize/item_xhtml_body_script.xml
2850
2979
  - test/feeds/wellformed/sanitize/item_xhtml_body_script_map_content.xml
2851
2980
  - test/feeds/wellformed/sanitize/item_xhtml_body_style.xml
2981
+ - test/unit
2852
2982
  - test/unit/amp_test.rb
2853
2983
  - test/unit/atom_test.rb
2854
2984
  - test/unit/cache_test.rb
@@ -2865,44 +2995,37 @@ files:
2865
2995
  - db/schema.mysql.sql
2866
2996
  - db/schema.postgresql.sql
2867
2997
  - db/schema.sqlite.sql
2868
- test_files: []
2869
-
2998
+ has_rdoc: true
2999
+ homepage: http://sporkmonger.com/projects/feedtools
3000
+ post_install_message: |+
3001
+
3002
+ FeedTool's caching schema has changed to allow Feed objects to be
3003
+ serialized to the cache. This should offer some limited speed up
3004
+ in some cases.
3005
+
2870
3006
  rdoc_options:
2871
3007
  - --main
2872
3008
  - README
2873
- extra_rdoc_files:
2874
- - README
2875
- executables: []
2876
-
2877
- extensions: []
2878
-
3009
+ require_paths:
3010
+ - lib
3011
+ required_ruby_version: !ruby/object:Gem::Requirement
3012
+ requirements:
3013
+ - - ">="
3014
+ - !ruby/object:Gem::Version
3015
+ version: "0"
3016
+ version:
3017
+ required_rubygems_version: !ruby/object:Gem::Requirement
3018
+ requirements:
3019
+ - - ">="
3020
+ - !ruby/object:Gem::Version
3021
+ version: "0"
3022
+ version:
2879
3023
  requirements: []
2880
3024
 
2881
- dependencies:
2882
- - !ruby/object:Gem::Dependency
2883
- name: activerecord
2884
- version_requirement:
2885
- version_requirements: !ruby/object:Gem::Version::Requirement
2886
- requirements:
2887
- - - ">="
2888
- - !ruby/object:Gem::Version
2889
- version: 1.10.1
2890
- version:
2891
- - !ruby/object:Gem::Dependency
2892
- name: uuidtools
2893
- version_requirement:
2894
- version_requirements: !ruby/object:Gem::Version::Requirement
2895
- requirements:
2896
- - - ">="
2897
- - !ruby/object:Gem::Version
2898
- version: 1.0.0
2899
- version:
2900
- - !ruby/object:Gem::Dependency
2901
- name: builder
2902
- version_requirement:
2903
- version_requirements: !ruby/object:Gem::Version::Requirement
2904
- requirements:
2905
- - - ">="
2906
- - !ruby/object:Gem::Version
2907
- version: 1.2.4
2908
- version:
3025
+ rubyforge_project: feedtools
3026
+ rubygems_version: 1.0.1
3027
+ signing_key:
3028
+ specification_version: 2
3029
+ summary: Parsing, generation, and caching system for xml news feeds.
3030
+ test_files: []
3031
+