localist-feedzirra 0.2.1

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 (41) hide show
  1. data/.rspec +1 -0
  2. data/README.rdoc +177 -0
  3. data/Rakefile +53 -0
  4. data/lib/feedzirra/core_ext/date.rb +19 -0
  5. data/lib/feedzirra/core_ext/string.rb +9 -0
  6. data/lib/feedzirra/core_ext.rb +3 -0
  7. data/lib/feedzirra/feed.rb +382 -0
  8. data/lib/feedzirra/feed_entry_utilities.rb +65 -0
  9. data/lib/feedzirra/feed_utilities.rb +72 -0
  10. data/lib/feedzirra/parser/atom.rb +29 -0
  11. data/lib/feedzirra/parser/atom_entry.rb +30 -0
  12. data/lib/feedzirra/parser/atom_feed_burner.rb +21 -0
  13. data/lib/feedzirra/parser/atom_feed_burner_entry.rb +31 -0
  14. data/lib/feedzirra/parser/itunes_rss.rb +50 -0
  15. data/lib/feedzirra/parser/itunes_rss_item.rb +32 -0
  16. data/lib/feedzirra/parser/itunes_rss_owner.rb +12 -0
  17. data/lib/feedzirra/parser/rss.rb +22 -0
  18. data/lib/feedzirra/parser/rss_entry.rb +34 -0
  19. data/lib/feedzirra/parser.rb +15 -0
  20. data/lib/feedzirra/version.rb +3 -0
  21. data/lib/feedzirra.rb +19 -0
  22. data/spec/benchmarks/feed_benchmarks.rb +98 -0
  23. data/spec/benchmarks/feedzirra_benchmarks.rb +40 -0
  24. data/spec/benchmarks/fetching_benchmarks.rb +28 -0
  25. data/spec/benchmarks/parsing_benchmark.rb +30 -0
  26. data/spec/benchmarks/updating_benchmarks.rb +33 -0
  27. data/spec/feedzirra/feed_entry_utilities_spec.rb +52 -0
  28. data/spec/feedzirra/feed_spec.rb +579 -0
  29. data/spec/feedzirra/feed_utilities_spec.rb +152 -0
  30. data/spec/feedzirra/parser/atom_entry_spec.rb +86 -0
  31. data/spec/feedzirra/parser/atom_feed_burner_entry_spec.rb +47 -0
  32. data/spec/feedzirra/parser/atom_feed_burner_spec.rb +43 -0
  33. data/spec/feedzirra/parser/atom_spec.rb +47 -0
  34. data/spec/feedzirra/parser/itunes_rss_item_spec.rb +48 -0
  35. data/spec/feedzirra/parser/itunes_rss_owner_spec.rb +18 -0
  36. data/spec/feedzirra/parser/itunes_rss_spec.rb +50 -0
  37. data/spec/feedzirra/parser/rss_entry_spec.rb +85 -0
  38. data/spec/feedzirra/parser/rss_spec.rb +45 -0
  39. data/spec/sample_feeds/run_against_sample.rb +20 -0
  40. data/spec/spec_helper.rb +66 -0
  41. metadata +221 -0
@@ -0,0 +1,66 @@
1
+ require "rubygems"
2
+ require "rspec"
3
+
4
+ # gem install redgreen for colored test output
5
+ begin require "redgreen" unless ENV['TM_CURRENT_LINE']; rescue LoadError; end
6
+
7
+ path = File.expand_path(File.dirname(__FILE__) + "/../lib/")
8
+ $LOAD_PATH.unshift(path) unless $LOAD_PATH.include?(path)
9
+
10
+ require "feedzirra"
11
+
12
+ def load_sample(filename)
13
+ File.read("#{File.dirname(__FILE__)}/sample_feeds/#{filename}")
14
+ end
15
+
16
+ def sample_atom_feed
17
+ load_sample("AmazonWebServicesBlog.xml")
18
+ end
19
+
20
+ def sample_atom_entry_content
21
+ load_sample("AmazonWebServicesBlogFirstEntryContent.xml")
22
+ end
23
+
24
+ def sample_itunes_feed
25
+ load_sample("itunes.xml")
26
+ end
27
+
28
+ def sample_rdf_feed
29
+ load_sample("HREFConsideredHarmful.xml")
30
+ end
31
+
32
+ def sample_rdf_entry_content
33
+ load_sample("HREFConsideredHarmfulFirstEntry.xml")
34
+ end
35
+
36
+ def sample_rss_feed_burner_feed
37
+ load_sample("SamHarrisAuthorPhilosopherEssayistAtheist.xml")
38
+ end
39
+
40
+ def sample_rss_feed
41
+ load_sample("TenderLovemaking.xml")
42
+ end
43
+
44
+ def sample_rss_entry_content
45
+ load_sample("TenderLovemakingFirstEntry.xml")
46
+ end
47
+
48
+ def sample_feedburner_atom_feed
49
+ load_sample("PaulDixExplainsNothing.xml")
50
+ end
51
+
52
+ def sample_feedburner_atom_entry_content
53
+ load_sample("PaulDixExplainsNothingFirstEntryContent.xml")
54
+ end
55
+
56
+ def sample_wfw_feed
57
+ load_sample("PaulDixExplainsNothingWFW.xml")
58
+ end
59
+
60
+ # http://eigenclass.org/hiki/Changes+in+Ruby+1.9#l156
61
+ # Default Time.to_s changed in 1.9, monkeypatching it back
62
+ class Time
63
+ def to_s
64
+ strftime("%a %b %d %H:%M:%S %Z %Y")
65
+ end
66
+ end
metadata ADDED
@@ -0,0 +1,221 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: localist-feedzirra
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Paul Dix
9
+ - Julien Kirch
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2011-09-30 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: nokogiri
17
+ requirement: &70306754137900 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '1.5'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *70306754137900
26
+ - !ruby/object:Gem::Dependency
27
+ name: sax-machine
28
+ requirement: &70306754133960 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *70306754133960
37
+ - !ruby/object:Gem::Dependency
38
+ name: curb
39
+ requirement: &70306754132180 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 0.7.15
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *70306754132180
48
+ - !ruby/object:Gem::Dependency
49
+ name: builder
50
+ requirement: &70306754129960 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 2.1.2
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *70306754129960
59
+ - !ruby/object:Gem::Dependency
60
+ name: activesupport
61
+ requirement: &70306754120920 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: 3.0.8
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *70306754120920
70
+ - !ruby/object:Gem::Dependency
71
+ name: loofah
72
+ requirement: &70306754116740 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.2.0
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: *70306754116740
81
+ - !ruby/object:Gem::Dependency
82
+ name: rdoc
83
+ requirement: &70306754112020 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ~>
87
+ - !ruby/object:Gem::Version
88
+ version: '3.8'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: *70306754112020
92
+ - !ruby/object:Gem::Dependency
93
+ name: rake
94
+ requirement: &70306754108840 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: 0.9.2
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: *70306754108840
103
+ - !ruby/object:Gem::Dependency
104
+ name: i18n
105
+ requirement: &70306754106500 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.5.0
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: *70306754106500
114
+ - !ruby/object:Gem::Dependency
115
+ name: rspec
116
+ requirement: &70306754105280 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ~>
120
+ - !ruby/object:Gem::Version
121
+ version: 2.6.0
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: *70306754105280
125
+ description: ! 'A feed fetching and parsing library that treats the internet like
126
+ Godzilla treats Japan: it dominates and eats all.'
127
+ email: feedzirra@googlegroups.com
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - lib/feedzirra/core_ext/date.rb
133
+ - lib/feedzirra/core_ext/string.rb
134
+ - lib/feedzirra/core_ext.rb
135
+ - lib/feedzirra/feed.rb
136
+ - lib/feedzirra/feed_entry_utilities.rb
137
+ - lib/feedzirra/feed_utilities.rb
138
+ - lib/feedzirra/parser/atom.rb
139
+ - lib/feedzirra/parser/atom_entry.rb
140
+ - lib/feedzirra/parser/atom_feed_burner.rb
141
+ - lib/feedzirra/parser/atom_feed_burner_entry.rb
142
+ - lib/feedzirra/parser/itunes_rss.rb
143
+ - lib/feedzirra/parser/itunes_rss_item.rb
144
+ - lib/feedzirra/parser/itunes_rss_owner.rb
145
+ - lib/feedzirra/parser/rss.rb
146
+ - lib/feedzirra/parser/rss_entry.rb
147
+ - lib/feedzirra/parser.rb
148
+ - lib/feedzirra/version.rb
149
+ - lib/feedzirra.rb
150
+ - spec/benchmarks/feed_benchmarks.rb
151
+ - spec/benchmarks/feedzirra_benchmarks.rb
152
+ - spec/benchmarks/fetching_benchmarks.rb
153
+ - spec/benchmarks/parsing_benchmark.rb
154
+ - spec/benchmarks/updating_benchmarks.rb
155
+ - spec/feedzirra/feed_entry_utilities_spec.rb
156
+ - spec/feedzirra/feed_spec.rb
157
+ - spec/feedzirra/feed_utilities_spec.rb
158
+ - spec/feedzirra/parser/atom_entry_spec.rb
159
+ - spec/feedzirra/parser/atom_feed_burner_entry_spec.rb
160
+ - spec/feedzirra/parser/atom_feed_burner_spec.rb
161
+ - spec/feedzirra/parser/atom_spec.rb
162
+ - spec/feedzirra/parser/itunes_rss_item_spec.rb
163
+ - spec/feedzirra/parser/itunes_rss_owner_spec.rb
164
+ - spec/feedzirra/parser/itunes_rss_spec.rb
165
+ - spec/feedzirra/parser/rss_entry_spec.rb
166
+ - spec/feedzirra/parser/rss_spec.rb
167
+ - spec/sample_feeds/run_against_sample.rb
168
+ - spec/spec_helper.rb
169
+ - README.rdoc
170
+ - Rakefile
171
+ - .rspec
172
+ homepage: http://github.com/pauldix/feedzirra
173
+ licenses: []
174
+ post_install_message:
175
+ rdoc_options: []
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ segments:
185
+ - 0
186
+ hash: 59686995797173242
187
+ required_rubygems_version: !ruby/object:Gem::Requirement
188
+ none: false
189
+ requirements:
190
+ - - ! '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ segments:
194
+ - 0
195
+ hash: 59686995797173242
196
+ requirements: []
197
+ rubyforge_project:
198
+ rubygems_version: 1.8.6
199
+ signing_key:
200
+ specification_version: 3
201
+ summary: A feed fetching and parsing library
202
+ test_files:
203
+ - spec/benchmarks/feed_benchmarks.rb
204
+ - spec/benchmarks/feedzirra_benchmarks.rb
205
+ - spec/benchmarks/fetching_benchmarks.rb
206
+ - spec/benchmarks/parsing_benchmark.rb
207
+ - spec/benchmarks/updating_benchmarks.rb
208
+ - spec/feedzirra/feed_entry_utilities_spec.rb
209
+ - spec/feedzirra/feed_spec.rb
210
+ - spec/feedzirra/feed_utilities_spec.rb
211
+ - spec/feedzirra/parser/atom_entry_spec.rb
212
+ - spec/feedzirra/parser/atom_feed_burner_entry_spec.rb
213
+ - spec/feedzirra/parser/atom_feed_burner_spec.rb
214
+ - spec/feedzirra/parser/atom_spec.rb
215
+ - spec/feedzirra/parser/itunes_rss_item_spec.rb
216
+ - spec/feedzirra/parser/itunes_rss_owner_spec.rb
217
+ - spec/feedzirra/parser/itunes_rss_spec.rb
218
+ - spec/feedzirra/parser/rss_entry_spec.rb
219
+ - spec/feedzirra/parser/rss_spec.rb
220
+ - spec/sample_feeds/run_against_sample.rb
221
+ - spec/spec_helper.rb