feedzirra 0.1.1 → 0.1.2

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.
@@ -46,7 +46,7 @@ module Feedzirra
46
46
  # === Returns
47
47
  # A array of class names.
48
48
  def self.feed_classes
49
- @feed_classes ||= [Feedzirra::Parser::RSS, Feedzirra::Parser::AtomFeedBurner, Feedzirra::Parser::Atom]
49
+ @feed_classes ||= [Feedzirra::Parser::RSSFeedBurner, Feedzirra::Parser::RSS, Feedzirra::Parser::AtomFeedBurner, Feedzirra::Parser::Atom]
50
50
  end
51
51
 
52
52
  # Makes all registered feeds types look for the passed in element to parse.
@@ -129,6 +129,7 @@ module Feedzirra
129
129
  curl.proxy_port = options[:proxy_port] if options.has_key?(:proxy_port)
130
130
  curl.max_redirects = options[:max_redirects] if options[:max_redirects]
131
131
  curl.timeout = options[:timeout] if options[:timeout]
132
+ curl.ssl_verify_host = options[:ssl_verify_host] if options.has_key?(:ssl_verify_host)
132
133
 
133
134
  curl.follow_location = true
134
135
  end
@@ -248,7 +249,7 @@ module Feedzirra
248
249
  end
249
250
 
250
251
  multi.perform
251
- responses.size == 1 ? responses.values.first : responses.values
252
+ responses.is_a?(Array)? responses.values : responses.values.first
252
253
  end
253
254
 
254
255
  # An abstraction for adding a feed by URL to the passed Curb::multi stack.
@@ -325,6 +326,7 @@ module Feedzirra
325
326
  easy = Curl::Easy.new(feed.feed_url) do |curl|
326
327
  setup_easy curl, options
327
328
  curl.headers["If-Modified-Since"] = feed.last_modified.httpdate if feed.last_modified
329
+ curl.headers["If-Modified-Since"] = options[:if_modified_since] if options[:if_modified_since] && (!feed.last_modified || (Time.parse(options[:if_modified_since].to_s) > feed.last_modified))
328
330
  curl.headers["If-None-Match"] = feed.etag if feed.etag
329
331
 
330
332
  curl.on_success do |c|
@@ -1,8 +1,10 @@
1
1
  module Feedzirra
2
2
  module Parser
3
- autoload :RSS, 'feedzirra/parser/rss'
4
- autoload :RSSEntry, 'feedzirra/parser/rss_entry'
5
-
3
+ autoload :RSS, 'feedzirra/parser/rss'
4
+ autoload :RSSEntry, 'feedzirra/parser/rss_entry'
5
+ autoload :RSSFeedBurner, 'feedzirra/parser/rss_feed_burner'
6
+ autoload :RSSFeedBurnerEntry, 'feedzirra/parser/rss_feed_burner_entry'
7
+
6
8
  autoload :ITunesRSS, 'feedzirra/parser/itunes_rss'
7
9
  autoload :ITunesRSSItem, 'feedzirra/parser/itunes_rss_item'
8
10
  autoload :ITunesRSSOwner, 'feedzirra/parser/itunes_rss_owner'
@@ -12,7 +12,7 @@ module Feedzirra
12
12
  elements :entry, :as => :entries, :class => AtomFeedBurnerEntry
13
13
 
14
14
  def self.able_to_parse?(xml) #:nodoc:
15
- ((/Atom/ =~ xml) && (/feedburner/ =~ xml)) || false
15
+ ((/Atom/ =~ xml) && (/feedburner/ =~ xml) && !(/\<rss|\<rdf/ =~ xml)) || false
16
16
  end
17
17
  end
18
18
 
@@ -13,7 +13,7 @@ module Feedzirra
13
13
  attr_accessor :feed_url
14
14
 
15
15
  def self.able_to_parse?(xml) #:nodoc:
16
- /\<rss|\<rdf/ =~ xml
16
+ (/\<rss|\<rdf/ =~ xml) && !(/feedburner/ =~ xml)
17
17
  end
18
18
  end
19
19
 
@@ -0,0 +1,22 @@
1
+ module Feedzirra
2
+
3
+ module Parser
4
+ # Parser for dealing with RSS feeds.
5
+ class RSSFeedBurner
6
+ include SAXMachine
7
+ include FeedUtilities
8
+ element :title
9
+ element :description
10
+ element :link, :as => :url
11
+ elements :item, :as => :entries, :class => RSSFeedBurnerEntry
12
+
13
+ attr_accessor :feed_url
14
+
15
+ def self.able_to_parse?(xml) #:nodoc:
16
+ (/\<rss|\<rdf/ =~ xml) && (/feedburner/ =~ xml)
17
+ end
18
+ end
19
+
20
+ end
21
+
22
+ end
@@ -0,0 +1,40 @@
1
+ module Feedzirra
2
+
3
+ module Parser
4
+ # Parser for dealing with RDF feed entries.
5
+ class RSSFeedBurnerEntry
6
+ include SAXMachine
7
+ include FeedEntryUtilities
8
+
9
+ element :title
10
+
11
+ element :"feedburner:origLink", :as => :url
12
+ element :link, :as => :url
13
+
14
+ element :"dc:creator", :as => :author
15
+ element :author, :as => :author
16
+ element :"content:encoded", :as => :content
17
+ element :description, :as => :summary
18
+
19
+ element :pubDate, :as => :published
20
+ element :pubdate, :as => :published
21
+ element :"dc:date", :as => :published
22
+ element :"dc:Date", :as => :published
23
+ element :"dcterms:created", :as => :published
24
+
25
+
26
+ element :"dcterms:modified", :as => :updated
27
+ element :issued, :as => :published
28
+ elements :category, :as => :categories
29
+
30
+ element :guid, :as => :entry_id
31
+
32
+ def url
33
+ @url || @link
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+
40
+ end
@@ -1,3 +1,3 @@
1
1
  module Feedzirra
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
@@ -90,9 +90,9 @@ describe Feedzirra::Feed do
90
90
 
91
91
  it "should parse an feedburner rss feed" do
92
92
  feed = Feedzirra::Feed.parse(sample_rss_feed_burner_feed)
93
- feed.title.should == "Sam Harris: Author, Philosopher, Essayist, Atheist"
94
- feed.entries.first.published.to_s.should == "Tue Jan 13 17:20:28 UTC 2009"
95
- feed.entries.size.should == 10
93
+ feed.title.should == "TechCrunch"
94
+ feed.entries.first.published.to_s.should == "Wed Nov 02 17:25:27 UTC 2011"
95
+ feed.entries.size.should == 20
96
96
  end
97
97
  end
98
98
 
@@ -109,8 +109,8 @@ describe Feedzirra::Feed do
109
109
  Feedzirra::Feed.determine_feed_parser_for_xml(sample_rdf_feed).should == Feedzirra::Parser::RSS
110
110
  end
111
111
 
112
- it "should return the Feedzirra::Parser::RSS class for an rss feedburner feed" do
113
- Feedzirra::Feed.determine_feed_parser_for_xml(sample_rss_feed_burner_feed).should == Feedzirra::Parser::RSS
112
+ it "should return the Feedzirra::Parser::RSSFeedBurner class for an rss feedburner feed" do
113
+ Feedzirra::Feed.determine_feed_parser_for_xml(sample_rss_feed_burner_feed).should == Feedzirra::Parser::RSSFeedBurner
114
114
  end
115
115
 
116
116
  it "should return the Feedzirra::Parser::RSS object for an rss 2.0 feed" do
@@ -254,7 +254,7 @@ describe Feedzirra::Feed do
254
254
 
255
255
  describe "#add_url_to_multi" do
256
256
  before(:each) do
257
- @multi = Curl::Multi.new
257
+ @multi = Curl::Multi.get([@paul_feed[:url]], {:follow_location => true}, {:pipeline => true})
258
258
  @multi.stub!(:add)
259
259
  @easy_curl = Curl::Easy.new(@paul_feed[:url])
260
260
 
@@ -396,7 +396,7 @@ describe Feedzirra::Feed do
396
396
 
397
397
  describe "#add_feed_to_multi" do
398
398
  before(:each) do
399
- @multi = Curl::Multi.new
399
+ @multi = Curl::Multi.get([@paul_feed[:url]], {:follow_location => true}, {:pipeline => true})
400
400
  @multi.stub!(:add)
401
401
  @easy_curl = Curl::Easy.new(@paul_feed[:url])
402
402
  @feed = Feedzirra::Feed.parse(sample_feedburner_atom_feed)
@@ -414,7 +414,13 @@ describe Feedzirra::Feed do
414
414
  @easy_curl.headers["User-Agent"].should == Feedzirra::Feed::USER_AGENT
415
415
  end
416
416
 
417
- it "should set if modified since as an option if passed"
417
+ it "should set if modified since as an option if passed" do
418
+ modified_time = Time.parse("Wed, 28 Jan 2009 04:10:32 GMT")
419
+ Feedzirra::Feed.add_feed_to_multi(@multi, @feed, [], {}, {:if_modified_since => modified_time})
420
+ modified_time.should be > @feed.last_modified
421
+
422
+ @easy_curl.headers["If-Modified-Since"].should == modified_time
423
+ end
418
424
 
419
425
  it 'should set follow location to true' do
420
426
  @easy_curl.should_receive(:follow_location=).with(true)
@@ -528,6 +534,14 @@ describe Feedzirra::Feed do
528
534
  it 'should slice the feeds into groups of thirty for processing'
529
535
  it "should return a feed object if a single feed is passed in"
530
536
  it "should return an return an array of feed objects if multiple feeds are passed in"
537
+
538
+ it "should set if modified since as an option if passed" do
539
+ modified_time = Time.parse("Wed, 28 Jan 2009 04:10:32 GMT")
540
+ Feedzirra::Feed.should_receive(:add_url_to_multi).with(anything, anything, anything, anything, {:if_modified_since => modified_time}).any_number_of_times
541
+
542
+ @feed = Feedzirra::Feed.fetch_and_parse(sample_feedburner_atom_feed, {:if_modified_since => modified_time})
543
+ end
544
+
531
545
  end
532
546
 
533
547
  describe "#decode_content" do
@@ -13,6 +13,10 @@ describe Feedzirra::Parser::AtomFeedBurner do
13
13
  it "should return false for a regular atom feed" do
14
14
  Feedzirra::Parser::AtomFeedBurner.should_not be_able_to_parse(sample_atom_feed)
15
15
  end
16
+
17
+ it "should return false for an rss feedburner feed" do
18
+ Feedzirra::Parser::AtomFeedBurner.should_not be_able_to_parse(sample_rss_feed_burner_feed)
19
+ end
16
20
  end
17
21
 
18
22
  describe "parsing" do
@@ -9,6 +9,10 @@ describe Feedzirra::Parser::Atom do
9
9
  it "should return false for an rdf feed" do
10
10
  Feedzirra::Parser::Atom.should_not be_able_to_parse(sample_rdf_feed)
11
11
  end
12
+
13
+ it "should return false for an rss feedburner feed" do
14
+ Feedzirra::Parser::Atom.should_not be_able_to_parse(sample_rss_feed_burner_feed)
15
+ end
12
16
  end
13
17
 
14
18
  describe "parsing" do
@@ -9,6 +9,10 @@ describe Feedzirra::Parser::ITunesRSS do
9
9
  it "should return fase for an atom feed" do
10
10
  Feedzirra::Parser::ITunesRSS.should_not be_able_to_parse(sample_atom_feed)
11
11
  end
12
+
13
+ it "should return false for an rss feedburner feed" do
14
+ Feedzirra::Parser::ITunesRSS.should_not be_able_to_parse(sample_rss_feed_burner_feed)
15
+ end
12
16
  end
13
17
 
14
18
  describe "parsing" do
@@ -0,0 +1,85 @@
1
+ # coding: utf-8
2
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
3
+
4
+ describe Feedzirra::Parser::RSSFeedBurnerEntry do
5
+ before(:each) do
6
+ # I don't really like doing it this way because these unit test should only rely on RSSEntry,
7
+ # but this is actually how it should work. You would never just pass entry xml straight to the AtomEnry
8
+ @entry = Feedzirra::Parser::RSSFeedBurner.parse(sample_rss_feed_burner_feed).entries.first
9
+ end
10
+
11
+ after(:each) do
12
+ # We change the title in one or more specs to test []=
13
+ if @entry.title != "Angie’s List Sets Price Range IPO At $11 To $13 Per Share; Valued At Over $600M"
14
+ @entry.title = Feedzirra::Parser::RSS.parse(sample_rss_feed_burner_feed).entries.first.title
15
+ end
16
+ end
17
+
18
+ it "should parse the title" do
19
+ @entry.title.should == "Angie’s List Sets Price Range IPO At $11 To $13 Per Share; Valued At Over $600M"
20
+ end
21
+
22
+ it "should parse the original url" do
23
+ @entry.url.should == "http://techcrunch.com/2011/11/02/angies-list-prices-ipo-at-11-to-13-per-share-valued-at-over-600m/"
24
+ end
25
+
26
+ it "should parse the author" do
27
+ @entry.author.should == "Leena Rao"
28
+ end
29
+
30
+ it "should parse the content" do
31
+ @entry.content.should == sample_rss_feed_burner_entry_content
32
+ end
33
+
34
+ it "should provide a summary" do
35
+ @entry.summary.should == sample_rss_feed_burner_entry_description
36
+ end
37
+
38
+ it "should parse the published date" do
39
+ @entry.published.to_s.should == "Wed Nov 02 17:25:27 UTC 2011"
40
+ end
41
+
42
+ it "should parse the categories" do
43
+ @entry.categories.should == ["TC", "angie\\'s list"]
44
+ end
45
+
46
+ it "should parse the guid as id" do
47
+ @entry.id.should == "http://techcrunch.com/?p=446154"
48
+ end
49
+
50
+ it "should support each" do
51
+ @entry.respond_to? :each
52
+ end
53
+
54
+ it "should be able to list out all fields with each" do
55
+ all_fields = []
56
+ @entry.each do |field, value|
57
+ all_fields << field
58
+ end
59
+ all_fields.sort == ['author', 'categories', 'content', 'id', 'published', 'summary', 'title', 'url']
60
+ end
61
+
62
+ it "should be able to list out all values with each" do
63
+ title_value = ''
64
+ @entry.each do |field, value|
65
+ title_value = value if field == 'title'
66
+ end
67
+ title_value.should == "Angie’s List Sets Price Range IPO At $11 To $13 Per Share; Valued At Over $600M"
68
+ end
69
+
70
+ it "should support checking if a field exists in the entry" do
71
+ @entry.include?('title') && @entry.include?('author')
72
+ end
73
+
74
+ it "should allow access to fields with hash syntax" do
75
+ @entry['title'] == @entry.title
76
+ @entry['title'].should == "Angie’s List Sets Price Range IPO At $11 To $13 Per Share; Valued At Over $600M"
77
+ @entry['author'] == @entry.author
78
+ @entry['author'].should == "Leena Rao"
79
+ end
80
+
81
+ it "should allow setting field values with hash syntax" do
82
+ @entry['title'] = "Foobar"
83
+ @entry.title.should == "Foobar"
84
+ end
85
+ end
@@ -0,0 +1,52 @@
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
+
3
+ describe Feedzirra::Parser::RSSFeedBurner do
4
+ describe "#will_parse?" do
5
+ it "should return true for a feedburner rss feed" do
6
+ Feedzirra::Parser::RSSFeedBurner.should be_able_to_parse(sample_rss_feed_burner_feed)
7
+ end
8
+
9
+ it "should return false for a regular RSS feed" do
10
+ Feedzirra::Parser::RSSFeedBurner.should_not be_able_to_parse(sample_rss_feed)
11
+ end
12
+
13
+ it "should return false for a feedburner atom feed" do
14
+ Feedzirra::Parser::RSSFeedBurner.should_not be_able_to_parse(sample_feedburner_atom_feed)
15
+ end
16
+
17
+ it "should return false for an rdf feed" do
18
+ Feedzirra::Parser::RSSFeedBurner.should_not be_able_to_parse(sample_rdf_feed)
19
+ end
20
+
21
+ it "should return false for a regular atom feed" do
22
+ Feedzirra::Parser::RSSFeedBurner.should_not be_able_to_parse(sample_atom_feed)
23
+ end
24
+ end
25
+
26
+ describe "parsing" do
27
+ before(:each) do
28
+ @feed = Feedzirra::Parser::RSSFeedBurner.parse(sample_rss_feed_burner_feed)
29
+ end
30
+
31
+ it "should parse the title" do
32
+ @feed.title.should == "TechCrunch"
33
+ end
34
+
35
+ it "should parse the description" do
36
+ @feed.description.should == "TechCrunch is a group-edited blog that profiles the companies, products and events defining and transforming the new web."
37
+ end
38
+
39
+ it "should parse the url" do
40
+ @feed.url.should == "http://techcrunch.com"
41
+ end
42
+
43
+ it "should provide an accessor for the feed_url" do
44
+ @feed.respond_to?(:feed_url).should == true
45
+ @feed.respond_to?(:feed_url=).should == true
46
+ end
47
+
48
+ it "should parse entries" do
49
+ @feed.entries.size.should == 20
50
+ end
51
+ end
52
+ end
@@ -11,9 +11,13 @@ describe Feedzirra::Parser::RSS do
11
11
  # Feedzirra::RSS.should_not be_able_to_parse(sample_rdf_feed)
12
12
  # end
13
13
 
14
- it "should return fase for an atom feed" do
14
+ it "should return false for an atom feed" do
15
15
  Feedzirra::Parser::RSS.should_not be_able_to_parse(sample_atom_feed)
16
16
  end
17
+
18
+ it "should return false for an rss feedburner feed" do
19
+ Feedzirra::Parser::RSS.should_not be_able_to_parse(sample_rss_feed_burner_feed)
20
+ end
17
21
  end
18
22
 
19
23
  describe "parsing" do
data/spec/spec_helper.rb CHANGED
@@ -34,7 +34,15 @@ def sample_rdf_entry_content
34
34
  end
35
35
 
36
36
  def sample_rss_feed_burner_feed
37
- load_sample("SamHarrisAuthorPhilosopherEssayistAtheist.xml")
37
+ load_sample("TechCrunch.xml")
38
+ end
39
+
40
+ def sample_rss_feed_burner_entry_content
41
+ load_sample("TechCrunchFirstEntry.xml")
42
+ end
43
+
44
+ def sample_rss_feed_burner_entry_description
45
+ load_sample("TechCrunchFirstEntryDescription.xml")
38
46
  end
39
47
 
40
48
  def sample_rss_feed
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feedzirra
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease:
4
+ prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 1
9
- - 1
10
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
11
10
  platform: ruby
12
11
  authors:
13
12
  - Paul Dix
@@ -16,7 +15,8 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2011-09-30 00:00:00 Z
18
+ date: 2011-09-30 00:00:00 -04:00
19
+ default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: nokogiri
@@ -24,9 +24,8 @@ dependencies:
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 15
30
29
  segments:
31
30
  - 1
32
31
  - 4
@@ -42,7 +41,6 @@ dependencies:
42
41
  requirements:
43
42
  - - ~>
44
43
  - !ruby/object:Gem::Version
45
- hash: 27
46
44
  segments:
47
45
  - 0
48
46
  - 1
@@ -58,7 +56,6 @@ dependencies:
58
56
  requirements:
59
57
  - - ~>
60
58
  - !ruby/object:Gem::Version
61
- hash: 29
62
59
  segments:
63
60
  - 0
64
61
  - 7
@@ -72,9 +69,8 @@ dependencies:
72
69
  requirement: &id004 !ruby/object:Gem::Requirement
73
70
  none: false
74
71
  requirements:
75
- - - ~>
72
+ - - ">="
76
73
  - !ruby/object:Gem::Version
77
- hash: 15
78
74
  segments:
79
75
  - 2
80
76
  - 1
@@ -88,9 +84,8 @@ dependencies:
88
84
  requirement: &id005 !ruby/object:Gem::Requirement
89
85
  none: false
90
86
  requirements:
91
- - - ">="
87
+ - - ~>
92
88
  - !ruby/object:Gem::Version
93
- hash: 23
94
89
  segments:
95
90
  - 3
96
91
  - 0
@@ -106,7 +101,6 @@ dependencies:
106
101
  requirements:
107
102
  - - ~>
108
103
  - !ruby/object:Gem::Version
109
- hash: 31
110
104
  segments:
111
105
  - 1
112
106
  - 2
@@ -122,7 +116,6 @@ dependencies:
122
116
  requirements:
123
117
  - - ~>
124
118
  - !ruby/object:Gem::Version
125
- hash: 23
126
119
  segments:
127
120
  - 3
128
121
  - 8
@@ -137,12 +130,11 @@ dependencies:
137
130
  requirements:
138
131
  - - ">="
139
132
  - !ruby/object:Gem::Version
140
- hash: 63
141
133
  segments:
142
134
  - 0
143
- - 9
144
- - 2
145
- version: 0.9.2
135
+ - 8
136
+ - 7
137
+ version: 0.8.7
146
138
  type: :runtime
147
139
  version_requirements: *id008
148
140
  - !ruby/object:Gem::Dependency
@@ -153,7 +145,6 @@ dependencies:
153
145
  requirements:
154
146
  - - ">="
155
147
  - !ruby/object:Gem::Version
156
- hash: 11
157
148
  segments:
158
149
  - 0
159
150
  - 5
@@ -169,7 +160,6 @@ dependencies:
169
160
  requirements:
170
161
  - - ~>
171
162
  - !ruby/object:Gem::Version
172
- hash: 23
173
163
  segments:
174
164
  - 2
175
165
  - 6
@@ -201,6 +191,8 @@ files:
201
191
  - lib/feedzirra/parser/itunes_rss_owner.rb
202
192
  - lib/feedzirra/parser/rss.rb
203
193
  - lib/feedzirra/parser/rss_entry.rb
194
+ - lib/feedzirra/parser/rss_feed_burner.rb
195
+ - lib/feedzirra/parser/rss_feed_burner_entry.rb
204
196
  - lib/feedzirra/parser.rb
205
197
  - lib/feedzirra/version.rb
206
198
  - lib/feedzirra.rb
@@ -220,12 +212,15 @@ files:
220
212
  - spec/feedzirra/parser/itunes_rss_owner_spec.rb
221
213
  - spec/feedzirra/parser/itunes_rss_spec.rb
222
214
  - spec/feedzirra/parser/rss_entry_spec.rb
215
+ - spec/feedzirra/parser/rss_feed_burner_entry_spec.rb
216
+ - spec/feedzirra/parser/rss_feed_burner_spec.rb
223
217
  - spec/feedzirra/parser/rss_spec.rb
224
218
  - spec/sample_feeds/run_against_sample.rb
225
219
  - spec/spec_helper.rb
226
220
  - README.rdoc
227
221
  - Rakefile
228
222
  - .rspec
223
+ has_rdoc: true
229
224
  homepage: http://github.com/pauldix/feedzirra
230
225
  licenses: []
231
226
 
@@ -239,7 +234,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
239
234
  requirements:
240
235
  - - ">="
241
236
  - !ruby/object:Gem::Version
242
- hash: 3
243
237
  segments:
244
238
  - 0
245
239
  version: "0"
@@ -248,14 +242,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
242
  requirements:
249
243
  - - ">="
250
244
  - !ruby/object:Gem::Version
251
- hash: 3
252
245
  segments:
253
246
  - 0
254
247
  version: "0"
255
248
  requirements: []
256
249
 
257
250
  rubyforge_project:
258
- rubygems_version: 1.8.5
251
+ rubygems_version: 1.3.7
259
252
  signing_key:
260
253
  specification_version: 3
261
254
  summary: A feed fetching and parsing library
@@ -276,6 +269,8 @@ test_files:
276
269
  - spec/feedzirra/parser/itunes_rss_owner_spec.rb
277
270
  - spec/feedzirra/parser/itunes_rss_spec.rb
278
271
  - spec/feedzirra/parser/rss_entry_spec.rb
272
+ - spec/feedzirra/parser/rss_feed_burner_entry_spec.rb
273
+ - spec/feedzirra/parser/rss_feed_burner_spec.rb
279
274
  - spec/feedzirra/parser/rss_spec.rb
280
275
  - spec/sample_feeds/run_against_sample.rb
281
276
  - spec/spec_helper.rb