codders-feedzirra 0.2.0.rc2

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 (76) hide show
  1. data/.gitignore +12 -0
  2. data/.rspec +1 -0
  3. data/.travis.yml +9 -0
  4. data/Gemfile +10 -0
  5. data/Guardfile +6 -0
  6. data/HISTORY.md +25 -0
  7. data/README.md +179 -0
  8. data/Rakefile +6 -0
  9. data/feedzirra.gemspec +28 -0
  10. data/lib/feedzirra.rb +17 -0
  11. data/lib/feedzirra/core_ext.rb +3 -0
  12. data/lib/feedzirra/core_ext/date.rb +19 -0
  13. data/lib/feedzirra/core_ext/string.rb +9 -0
  14. data/lib/feedzirra/core_ext/time.rb +29 -0
  15. data/lib/feedzirra/feed.rb +382 -0
  16. data/lib/feedzirra/feed_entry_utilities.rb +65 -0
  17. data/lib/feedzirra/feed_utilities.rb +72 -0
  18. data/lib/feedzirra/parser.rb +20 -0
  19. data/lib/feedzirra/parser/atom.rb +29 -0
  20. data/lib/feedzirra/parser/atom_entry.rb +30 -0
  21. data/lib/feedzirra/parser/atom_feed_burner.rb +21 -0
  22. data/lib/feedzirra/parser/atom_feed_burner_entry.rb +31 -0
  23. data/lib/feedzirra/parser/google_docs_atom.rb +28 -0
  24. data/lib/feedzirra/parser/google_docs_atom_entry.rb +29 -0
  25. data/lib/feedzirra/parser/itunes_rss.rb +50 -0
  26. data/lib/feedzirra/parser/itunes_rss_item.rb +32 -0
  27. data/lib/feedzirra/parser/itunes_rss_owner.rb +12 -0
  28. data/lib/feedzirra/parser/rss.rb +22 -0
  29. data/lib/feedzirra/parser/rss_entry.rb +34 -0
  30. data/lib/feedzirra/parser/rss_feed_burner.rb +22 -0
  31. data/lib/feedzirra/parser/rss_feed_burner_entry.rb +40 -0
  32. data/lib/feedzirra/version.rb +3 -0
  33. data/spec/benchmarks/feed_benchmarks.rb +98 -0
  34. data/spec/benchmarks/feedzirra_benchmarks.rb +40 -0
  35. data/spec/benchmarks/fetching_benchmarks.rb +28 -0
  36. data/spec/benchmarks/parsing_benchmark.rb +30 -0
  37. data/spec/benchmarks/updating_benchmarks.rb +33 -0
  38. data/spec/feedzirra/feed_entry_utilities_spec.rb +52 -0
  39. data/spec/feedzirra/feed_spec.rb +599 -0
  40. data/spec/feedzirra/feed_utilities_spec.rb +150 -0
  41. data/spec/feedzirra/parser/atom_entry_spec.rb +86 -0
  42. data/spec/feedzirra/parser/atom_feed_burner_entry_spec.rb +47 -0
  43. data/spec/feedzirra/parser/atom_feed_burner_spec.rb +47 -0
  44. data/spec/feedzirra/parser/atom_spec.rb +51 -0
  45. data/spec/feedzirra/parser/google_docs_atom_entry_spec.rb +22 -0
  46. data/spec/feedzirra/parser/google_docs_atom_spec.rb +31 -0
  47. data/spec/feedzirra/parser/itunes_rss_item_spec.rb +48 -0
  48. data/spec/feedzirra/parser/itunes_rss_owner_spec.rb +18 -0
  49. data/spec/feedzirra/parser/itunes_rss_spec.rb +54 -0
  50. data/spec/feedzirra/parser/rss_entry_spec.rb +85 -0
  51. data/spec/feedzirra/parser/rss_feed_burner_entry_spec.rb +85 -0
  52. data/spec/feedzirra/parser/rss_feed_burner_spec.rb +52 -0
  53. data/spec/feedzirra/parser/rss_spec.rb +49 -0
  54. data/spec/sample_feeds/AmazonWebServicesBlog.xml +796 -0
  55. data/spec/sample_feeds/AmazonWebServicesBlogFirstEntryContent.xml +63 -0
  56. data/spec/sample_feeds/FeedBurnerUrlNoAlternate.xml +27 -0
  57. data/spec/sample_feeds/GoogleDocsList.xml +187 -0
  58. data/spec/sample_feeds/HREFConsideredHarmful.xml +313 -0
  59. data/spec/sample_feeds/HREFConsideredHarmfulFirstEntry.xml +22 -0
  60. data/spec/sample_feeds/PaulDixExplainsNothing.xml +174 -0
  61. data/spec/sample_feeds/PaulDixExplainsNothingAlternate.xml +174 -0
  62. data/spec/sample_feeds/PaulDixExplainsNothingFirstEntryContent.xml +19 -0
  63. data/spec/sample_feeds/PaulDixExplainsNothingWFW.xml +174 -0
  64. data/spec/sample_feeds/TechCrunch.xml +1514 -0
  65. data/spec/sample_feeds/TechCrunchFirstEntry.xml +9 -0
  66. data/spec/sample_feeds/TechCrunchFirstEntryDescription.xml +3 -0
  67. data/spec/sample_feeds/TenderLovemaking.xml +515 -0
  68. data/spec/sample_feeds/TenderLovemakingFirstEntry.xml +66 -0
  69. data/spec/sample_feeds/TrotterCashionHome.xml +610 -0
  70. data/spec/sample_feeds/atom_with_link_tag_for_url_unmarked.xml +30 -0
  71. data/spec/sample_feeds/itunes.xml +60 -0
  72. data/spec/sample_feeds/run_against_sample.rb +20 -0
  73. data/spec/sample_feeds/top5kfeeds.dat +2170 -0
  74. data/spec/sample_feeds/trouble_feeds.txt +16 -0
  75. data/spec/spec_helper.rb +75 -0
  76. metadata +203 -0
@@ -0,0 +1,16 @@
1
+ http://www.forbes.com/news/index.xml
2
+ http://www.qarchive.org/feeds/lastreviews.rss
3
+ http://medallia.com/medallia/feeds/rss/full/
4
+ http://www.ecampus.com/rss/
5
+ http://bossip.com/feed/
6
+ http://www.christianpost.com.com/rss/feed.xml
7
+ http://fusion.google.com/add?feedurl=http://feeds.feedburner.com/product-reviews
8
+ http://octanetv.com/episodes.rss
9
+ http://octanetv.com/piclens.rss
10
+ http://sk8rstv.com/rss/
11
+ http://www.sho.com/site/rss/schedule.do?schedule=primetime
12
+ http://www.plaxo.com/rss
13
+ http://emedtv.com/feed.rss
14
+ http://www.bankrate.com/brm/rss/entrypage1.asp
15
+ http://podcasts.odiogo.com/thats-phucked/podcasts-html.php
16
+ http://gallup.com/sitemaps/university.rss
@@ -0,0 +1,75 @@
1
+ begin
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter "/spec/"
5
+ end
6
+ rescue LoadError
7
+ end
8
+
9
+ require File.expand_path(File.dirname(__FILE__) + '/../lib/feedzirra')
10
+
11
+ def load_sample(filename)
12
+ File.read("#{File.dirname(__FILE__)}/sample_feeds/#{filename}")
13
+ end
14
+
15
+ def sample_atom_feed
16
+ load_sample("AmazonWebServicesBlog.xml")
17
+ end
18
+
19
+ def sample_atom_entry_content
20
+ load_sample("AmazonWebServicesBlogFirstEntryContent.xml")
21
+ end
22
+
23
+ def sample_itunes_feed
24
+ load_sample("itunes.xml")
25
+ end
26
+
27
+ def sample_rdf_feed
28
+ load_sample("HREFConsideredHarmful.xml")
29
+ end
30
+
31
+ def sample_rdf_entry_content
32
+ load_sample("HREFConsideredHarmfulFirstEntry.xml")
33
+ end
34
+
35
+ def sample_rss_feed_burner_feed
36
+ load_sample("TechCrunch.xml")
37
+ end
38
+
39
+ def sample_rss_feed_burner_entry_content
40
+ load_sample("TechCrunchFirstEntry.xml")
41
+ end
42
+
43
+ def sample_rss_feed_burner_entry_description
44
+ load_sample("TechCrunchFirstEntryDescription.xml")
45
+ end
46
+
47
+ def sample_rss_feed
48
+ load_sample("TenderLovemaking.xml")
49
+ end
50
+
51
+ def sample_rss_entry_content
52
+ load_sample("TenderLovemakingFirstEntry.xml")
53
+ end
54
+
55
+ def sample_feedburner_atom_feed
56
+ load_sample("PaulDixExplainsNothing.xml")
57
+ end
58
+
59
+ def sample_feedburner_atom_entry_content
60
+ load_sample("PaulDixExplainsNothingFirstEntryContent.xml")
61
+ end
62
+
63
+ def sample_wfw_feed
64
+ load_sample("PaulDixExplainsNothingWFW.xml")
65
+ end
66
+
67
+ def sample_google_docs_list_feed
68
+ load_sample("GoogleDocsList.xml")
69
+ end
70
+
71
+ RSpec.configure do |config|
72
+ config.treat_symbols_as_metadata_keys_with_true_values = true
73
+ config.run_all_when_everything_filtered = true
74
+ config.filter_run :focus
75
+ end
metadata ADDED
@@ -0,0 +1,203 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: codders-feedzirra
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0.rc2
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - Paul Dix
9
+ - Julien Kirch
10
+ - Ezekiel Templin
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2012-10-24 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: nokogiri
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 1.5.3
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: 1.5.3
32
+ - !ruby/object:Gem::Dependency
33
+ name: sax-machine
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: 0.2.0.rc1
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 0.2.0.rc1
48
+ - !ruby/object:Gem::Dependency
49
+ name: codders-curb
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 0.8.0
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 0.8.0
64
+ - !ruby/object:Gem::Dependency
65
+ name: loofah
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: 1.2.1
72
+ type: :runtime
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 1.2.1
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 2.10.0
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 2.10.0
96
+ description: ! 'A feed fetching and parsing library that treats the internet like
97
+ Godzilla treats Japan: it dominates and eats all.'
98
+ email: feedzirra@googlegroups.com
99
+ executables: []
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - .gitignore
104
+ - .rspec
105
+ - .travis.yml
106
+ - Gemfile
107
+ - Guardfile
108
+ - HISTORY.md
109
+ - README.md
110
+ - Rakefile
111
+ - feedzirra.gemspec
112
+ - lib/feedzirra.rb
113
+ - lib/feedzirra/core_ext.rb
114
+ - lib/feedzirra/core_ext/date.rb
115
+ - lib/feedzirra/core_ext/string.rb
116
+ - lib/feedzirra/core_ext/time.rb
117
+ - lib/feedzirra/feed.rb
118
+ - lib/feedzirra/feed_entry_utilities.rb
119
+ - lib/feedzirra/feed_utilities.rb
120
+ - lib/feedzirra/parser.rb
121
+ - lib/feedzirra/parser/atom.rb
122
+ - lib/feedzirra/parser/atom_entry.rb
123
+ - lib/feedzirra/parser/atom_feed_burner.rb
124
+ - lib/feedzirra/parser/atom_feed_burner_entry.rb
125
+ - lib/feedzirra/parser/google_docs_atom.rb
126
+ - lib/feedzirra/parser/google_docs_atom_entry.rb
127
+ - lib/feedzirra/parser/itunes_rss.rb
128
+ - lib/feedzirra/parser/itunes_rss_item.rb
129
+ - lib/feedzirra/parser/itunes_rss_owner.rb
130
+ - lib/feedzirra/parser/rss.rb
131
+ - lib/feedzirra/parser/rss_entry.rb
132
+ - lib/feedzirra/parser/rss_feed_burner.rb
133
+ - lib/feedzirra/parser/rss_feed_burner_entry.rb
134
+ - lib/feedzirra/version.rb
135
+ - spec/benchmarks/feed_benchmarks.rb
136
+ - spec/benchmarks/feedzirra_benchmarks.rb
137
+ - spec/benchmarks/fetching_benchmarks.rb
138
+ - spec/benchmarks/parsing_benchmark.rb
139
+ - spec/benchmarks/updating_benchmarks.rb
140
+ - spec/feedzirra/feed_entry_utilities_spec.rb
141
+ - spec/feedzirra/feed_spec.rb
142
+ - spec/feedzirra/feed_utilities_spec.rb
143
+ - spec/feedzirra/parser/atom_entry_spec.rb
144
+ - spec/feedzirra/parser/atom_feed_burner_entry_spec.rb
145
+ - spec/feedzirra/parser/atom_feed_burner_spec.rb
146
+ - spec/feedzirra/parser/atom_spec.rb
147
+ - spec/feedzirra/parser/google_docs_atom_entry_spec.rb
148
+ - spec/feedzirra/parser/google_docs_atom_spec.rb
149
+ - spec/feedzirra/parser/itunes_rss_item_spec.rb
150
+ - spec/feedzirra/parser/itunes_rss_owner_spec.rb
151
+ - spec/feedzirra/parser/itunes_rss_spec.rb
152
+ - spec/feedzirra/parser/rss_entry_spec.rb
153
+ - spec/feedzirra/parser/rss_feed_burner_entry_spec.rb
154
+ - spec/feedzirra/parser/rss_feed_burner_spec.rb
155
+ - spec/feedzirra/parser/rss_spec.rb
156
+ - spec/sample_feeds/AmazonWebServicesBlog.xml
157
+ - spec/sample_feeds/AmazonWebServicesBlogFirstEntryContent.xml
158
+ - spec/sample_feeds/FeedBurnerUrlNoAlternate.xml
159
+ - spec/sample_feeds/GoogleDocsList.xml
160
+ - spec/sample_feeds/HREFConsideredHarmful.xml
161
+ - spec/sample_feeds/HREFConsideredHarmfulFirstEntry.xml
162
+ - spec/sample_feeds/PaulDixExplainsNothing.xml
163
+ - spec/sample_feeds/PaulDixExplainsNothingAlternate.xml
164
+ - spec/sample_feeds/PaulDixExplainsNothingFirstEntryContent.xml
165
+ - spec/sample_feeds/PaulDixExplainsNothingWFW.xml
166
+ - spec/sample_feeds/TechCrunch.xml
167
+ - spec/sample_feeds/TechCrunchFirstEntry.xml
168
+ - spec/sample_feeds/TechCrunchFirstEntryDescription.xml
169
+ - spec/sample_feeds/TenderLovemaking.xml
170
+ - spec/sample_feeds/TenderLovemakingFirstEntry.xml
171
+ - spec/sample_feeds/TrotterCashionHome.xml
172
+ - spec/sample_feeds/atom_with_link_tag_for_url_unmarked.xml
173
+ - spec/sample_feeds/itunes.xml
174
+ - spec/sample_feeds/run_against_sample.rb
175
+ - spec/sample_feeds/top5kfeeds.dat
176
+ - spec/sample_feeds/trouble_feeds.txt
177
+ - spec/spec_helper.rb
178
+ homepage: http://github.com/codders/feedzirra
179
+ licenses: []
180
+ post_install_message:
181
+ rdoc_options: []
182
+ require_paths:
183
+ - lib
184
+ required_ruby_version: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
+ none: false
192
+ requirements:
193
+ - - ! '>'
194
+ - !ruby/object:Gem::Version
195
+ version: 1.3.1
196
+ requirements: []
197
+ rubyforge_project:
198
+ rubygems_version: 1.8.24
199
+ signing_key:
200
+ specification_version: 3
201
+ summary: A feed fetching and parsing library
202
+ test_files: []
203
+ has_rdoc: