astro-feedzirra 0.0.8.20090419 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/README.rdoc +169 -0
  2. data/README.textile +9 -2
  3. data/Rakefile +3 -0
  4. data/lib/feedzirra.rb +11 -10
  5. data/lib/feedzirra/feed.rb +37 -41
  6. data/lib/feedzirra/feed_entry_utilities.rb +6 -0
  7. data/lib/feedzirra/parser/atom.rb +26 -0
  8. data/lib/feedzirra/parser/atom_entry.rb +34 -0
  9. data/lib/feedzirra/parser/atom_feed_burner.rb +27 -0
  10. data/lib/feedzirra/parser/atom_feed_burner_entry.rb +35 -0
  11. data/lib/feedzirra/parser/itunes_rss.rb +50 -0
  12. data/lib/feedzirra/parser/itunes_rss_item.rb +32 -0
  13. data/lib/feedzirra/parser/itunes_rss_owner.rb +12 -0
  14. data/lib/feedzirra/parser/rss.rb +28 -0
  15. data/lib/feedzirra/parser/rss_entry.rb +40 -0
  16. data/lib/feedzirra/push_parser.rb +56 -0
  17. data/spec/feedzirra/feed_spec.rb +40 -32
  18. data/spec/feedzirra/feed_utilities_spec.rb +9 -9
  19. data/spec/feedzirra/{atom_entry_spec.rb → parser/atom_entry_spec.rb} +3 -3
  20. data/spec/feedzirra/{atom_feed_burner_entry_spec.rb → parser/atom_feed_burner_entry_spec.rb} +4 -4
  21. data/spec/feedzirra/{atom_feed_burner_spec.rb → parser/atom_feed_burner_spec.rb} +6 -6
  22. data/spec/feedzirra/{atom_spec.rb → parser/atom_spec.rb} +5 -5
  23. data/spec/feedzirra/{itunes_rss_item_spec.rb → parser/itunes_rss_item_spec.rb} +8 -4
  24. data/spec/feedzirra/{itunes_rss_owner_spec.rb → parser/itunes_rss_owner_spec.rb} +3 -3
  25. data/spec/feedzirra/{itunes_rss_spec.rb → parser/itunes_rss_spec.rb} +5 -5
  26. data/spec/feedzirra/{rss_entry_spec.rb → parser/rss_entry_spec.rb} +3 -3
  27. data/spec/feedzirra/{rss_spec.rb → parser/rss_spec.rb} +5 -5
  28. data/spec/feedzirra/push_parser_spec.rb +16 -0
  29. metadata +28 -25
  30. data/lib/feedzirra/atom.rb +0 -22
  31. data/lib/feedzirra/atom_entry.rb +0 -29
  32. data/lib/feedzirra/atom_feed_burner.rb +0 -22
  33. data/lib/feedzirra/atom_feed_burner_entry.rb +0 -30
  34. data/lib/feedzirra/itunes_rss.rb +0 -46
  35. data/lib/feedzirra/itunes_rss_item.rb +0 -28
  36. data/lib/feedzirra/itunes_rss_owner.rb +0 -8
  37. data/lib/feedzirra/rss.rb +0 -23
  38. data/lib/feedzirra/rss_entry.rb +0 -35
@@ -42,19 +42,19 @@ describe Feedzirra::FeedUtilities do
42
42
  end
43
43
 
44
44
  it "should return a last_modified value from the entry with the most recent published date if the last_modified date hasn't been set" do
45
- feed = Feedzirra::Atom.new
46
- entry =Feedzirra::AtomEntry.new
45
+ feed = Feedzirra::Parser::Atom.new
46
+ entry =Feedzirra::Parser::AtomEntry.new
47
47
  entry.published = Time.now.to_s
48
48
  feed.entries << entry
49
49
  feed.last_modified.should == entry.published
50
50
  end
51
51
 
52
52
  it "should not throw an error if one of the entries has published date of nil" do
53
- feed = Feedzirra::Atom.new
54
- entry = Feedzirra::AtomEntry.new
53
+ feed = Feedzirra::Parser::Atom.new
54
+ entry = Feedzirra::Parser::AtomEntry.new
55
55
  entry.published = Time.now.to_s
56
56
  feed.entries << entry
57
- feed.entries << Feedzirra::AtomEntry.new
57
+ feed.entries << Feedzirra::Parser::AtomEntry.new
58
58
  feed.last_modified.should == entry.published
59
59
  end
60
60
  end
@@ -64,7 +64,7 @@ describe Feedzirra::FeedUtilities do
64
64
  before(:each) do
65
65
  # I'm using the Atom class when I know I should be using a different one. However, this update_from_feed
66
66
  # method would only be called against a feed item.
67
- @feed = Feedzirra::Atom.new
67
+ @feed = Feedzirra::Parser::Atom.new
68
68
  @feed.title = "A title"
69
69
  @feed.url = "http://pauldix.net"
70
70
  @feed.feed_url = "http://feeds.feedburner.com/PaulDixExplainsNothing"
@@ -112,16 +112,16 @@ describe Feedzirra::FeedUtilities do
112
112
  before(:each) do
113
113
  # I'm using the Atom class when I know I should be using a different one. However, this update_from_feed
114
114
  # method would only be called against a feed item.
115
- @feed = Feedzirra::Atom.new
115
+ @feed = Feedzirra::Parser::Atom.new
116
116
  @feed.title = "A title"
117
117
  @feed.url = "http://pauldix.net"
118
118
  @feed.feed_url = "http://feeds.feedburner.com/PaulDixExplainsNothing"
119
119
  @feed.updated = false
120
120
  @updated_feed = @feed.dup
121
- @old_entry = Feedzirra::AtomEntry.new
121
+ @old_entry = Feedzirra::Parser::AtomEntry.new
122
122
  @old_entry.url = "http://pauldix.net/old.html"
123
123
  @old_entry.published = Time.now.to_s
124
- @new_entry = Feedzirra::AtomEntry.new
124
+ @new_entry = Feedzirra::Parser::AtomEntry.new
125
125
  @new_entry.url = "http://pauldix.net/new.html"
126
126
  @new_entry.published = (Time.now + 10).to_s
127
127
  @feed.entries << @old_entry
@@ -1,10 +1,10 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::AtomEntry do
3
+ describe Feedzirra::Parser::AtomEntry do
4
4
  before(:each) do
5
5
  # I don't really like doing it this way because these unit test should only rely on AtomEntry,
6
6
  # but this is actually how it should work. You would never just pass entry xml straight to the AtomEnry
7
- @entry = Feedzirra::Atom.parse(sample_atom_feed).entries.first
7
+ @entry = Feedzirra::Parser::Atom.parse(sample_atom_feed).entries.first
8
8
  end
9
9
 
10
10
  it "should parse the title" do
@@ -1,10 +1,10 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::AtomFeedBurnerEntry do
3
+ describe Feedzirra::Parser::AtomFeedBurnerEntry do
4
4
  before(:each) do
5
5
  # I don't really like doing it this way because these unit test should only rely on AtomEntry,
6
6
  # but this is actually how it should work. You would never just pass entry xml straight to the AtomEnry
7
- @entry = Feedzirra::AtomFeedBurner.parse(sample_feedburner_atom_feed).entries.first
7
+ @entry = Feedzirra::Parser::AtomFeedBurner.parse(sample_feedburner_atom_feed).entries.first
8
8
  end
9
9
 
10
10
  it "should parse the title" do
@@ -12,7 +12,7 @@ describe Feedzirra::AtomFeedBurnerEntry do
12
12
  end
13
13
 
14
14
  it "should be able to fetch a url via the 'alternate' rel if no origLink exists" do
15
- entry = Feedzirra::AtomFeedBurner.parse(File.read("#{File.dirname(__FILE__)}/../sample_feeds/PaulDixExplainsNothingAlternate.xml")).entries.first
15
+ entry = Feedzirra::Parser::AtomFeedBurner.parse(File.read("#{File.dirname(__FILE__)}/../../sample_feeds/PaulDixExplainsNothingAlternate.xml")).entries.first
16
16
  entry.url.should == 'http://feeds.feedburner.com/~r/PaulDixExplainsNothing/~3/519925023/making-a-ruby-c-library-even-faster.html'
17
17
  end
18
18
 
@@ -1,23 +1,23 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::AtomFeedBurner do
3
+ describe Feedzirra::Parser::AtomFeedBurner do
4
4
  describe "#will_parse?" do
5
5
  it "should return true for a feedburner atom feed" do
6
- Feedzirra::AtomFeedBurner.should be_able_to_parse(sample_feedburner_atom_feed)
6
+ Feedzirra::Parser::AtomFeedBurner.should be_able_to_parse(sample_feedburner_atom_feed)
7
7
  end
8
8
 
9
9
  it "should return false for an rdf feed" do
10
- Feedzirra::AtomFeedBurner.should_not be_able_to_parse(sample_rdf_feed)
10
+ Feedzirra::Parser::AtomFeedBurner.should_not be_able_to_parse(sample_rdf_feed)
11
11
  end
12
12
 
13
13
  it "should return false for a regular atom feed" do
14
- Feedzirra::AtomFeedBurner.should_not be_able_to_parse(sample_atom_feed)
14
+ Feedzirra::Parser::AtomFeedBurner.should_not be_able_to_parse(sample_atom_feed)
15
15
  end
16
16
  end
17
17
 
18
18
  describe "parsing" do
19
19
  before(:each) do
20
- @feed = Feedzirra::AtomFeedBurner.parse(sample_feedburner_atom_feed)
20
+ @feed = Feedzirra::Parser::AtomFeedBurner.parse(sample_feedburner_atom_feed)
21
21
  end
22
22
 
23
23
  it "should parse the title" do
@@ -1,19 +1,19 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::Atom do
3
+ describe Feedzirra::Parser::Atom do
4
4
  describe "#will_parse?" do
5
5
  it "should return true for an atom feed" do
6
- Feedzirra::Atom.should be_able_to_parse(sample_atom_feed)
6
+ Feedzirra::Parser::Atom.should be_able_to_parse(sample_atom_feed)
7
7
  end
8
8
 
9
9
  it "should return false for an rdf feed" do
10
- Feedzirra::Atom.should_not be_able_to_parse(sample_rdf_feed)
10
+ Feedzirra::Parser::Atom.should_not be_able_to_parse(sample_rdf_feed)
11
11
  end
12
12
  end
13
13
 
14
14
  describe "parsing" do
15
15
  before(:each) do
16
- @feed = Feedzirra::Atom.parse(sample_atom_feed)
16
+ @feed = Feedzirra::Parser::Atom.parse(sample_atom_feed)
17
17
  end
18
18
 
19
19
  it "should parse the title" do
@@ -1,10 +1,10 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::ITunesRSSItem do
3
+ describe Feedzirra::Parser::ITunesRSSItem do
4
4
  before(:each) do
5
5
  # I don't really like doing it this way because these unit test should only rely on ITunesRssItem,
6
6
  # but this is actually how it should work. You would never just pass entry xml straight to the ITunesRssItem
7
- @item = Feedzirra::ITunesRSS.parse(sample_itunes_feed).entries.first
7
+ @item = Feedzirra::Parser::ITunesRSS.parse(sample_itunes_feed).entries.first
8
8
  end
9
9
 
10
10
  it "should parse the title" do
@@ -34,7 +34,7 @@ describe Feedzirra::ITunesRSSItem do
34
34
  end
35
35
 
36
36
  it "should parse the published date" do
37
- @item.published.should == "Wed, 15 Jun 2005 19:00:00 GMT"
37
+ @item.published.should == Time.parse("Wed, 15 Jun 2005 19:00:00 GMT")
38
38
  end
39
39
 
40
40
  it "should parse the duration" do
@@ -44,5 +44,9 @@ describe Feedzirra::ITunesRSSItem do
44
44
  it "should parse the keywords" do
45
45
  @item.itunes_keywords.should == "salt, pepper, shaker, exciting"
46
46
  end
47
+
48
+ it "should parse content:encoded" do
49
+ @item.summary.should == "<p>This week we talk about salt and pepper shakers, comparing and contrasting pour rates, construction materials, and overall aesthetics. Come and join the party!</p>"
50
+ end
47
51
 
48
52
  end
@@ -1,10 +1,10 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::ITunesRSSOwner do
3
+ describe Feedzirra::Parser::ITunesRSSOwner do
4
4
  before(:each) do
5
5
  # I don't really like doing it this way because these unit test should only rely on RSSEntry,
6
6
  # but this is actually how it should work. You would never just pass entry xml straight to the ITunesRssOwner
7
- @owner = Feedzirra::ITunesRSS.parse(sample_itunes_feed).itunes_owners.first
7
+ @owner = Feedzirra::Parser::ITunesRSS.parse(sample_itunes_feed).itunes_owners.first
8
8
  end
9
9
 
10
10
  it "should parse the name" do
@@ -1,19 +1,19 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::ITunesRSS do
3
+ describe Feedzirra::Parser::ITunesRSS do
4
4
  describe "#will_parse?" do
5
5
  it "should return true for an itunes RSS feed" do
6
- Feedzirra::ITunesRSS.should be_able_to_parse(sample_itunes_feed)
6
+ Feedzirra::Parser::ITunesRSS.should be_able_to_parse(sample_itunes_feed)
7
7
  end
8
8
 
9
9
  it "should return fase for an atom feed" do
10
- Feedzirra::ITunesRSS.should_not be_able_to_parse(sample_atom_feed)
10
+ Feedzirra::Parser::ITunesRSS.should_not be_able_to_parse(sample_atom_feed)
11
11
  end
12
12
  end
13
13
 
14
14
  describe "parsing" do
15
15
  before(:each) do
16
- @feed = Feedzirra::ITunesRSS.parse(sample_itunes_feed)
16
+ @feed = Feedzirra::Parser::ITunesRSS.parse(sample_itunes_feed)
17
17
  end
18
18
 
19
19
  it "should parse the subtitle" do
@@ -1,10 +1,10 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::RSSEntry do
3
+ describe Feedzirra::Parser::RSSEntry do
4
4
  before(:each) do
5
5
  # I don't really like doing it this way because these unit test should only rely on RSSEntry,
6
6
  # but this is actually how it should work. You would never just pass entry xml straight to the AtomEnry
7
- @entry = Feedzirra::RSS.parse(sample_rss_feed).entries.first
7
+ @entry = Feedzirra::Parser::RSS.parse(sample_rss_feed).entries.first
8
8
  end
9
9
 
10
10
  it "should parse the title" do
@@ -1,9 +1,9 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require File.join(File.dirname(__FILE__), %w[.. .. spec_helper])
2
2
 
3
- describe Feedzirra::RSS do
3
+ describe Feedzirra::Parser::RSS do
4
4
  describe "#will_parse?" do
5
5
  it "should return true for an RSS feed" do
6
- Feedzirra::RSS.should be_able_to_parse(sample_rss_feed)
6
+ Feedzirra::Parser::RSS.should be_able_to_parse(sample_rss_feed)
7
7
  end
8
8
 
9
9
  # this is no longer true. combined rdf and rss into one
@@ -12,13 +12,13 @@ describe Feedzirra::RSS do
12
12
  # end
13
13
 
14
14
  it "should return fase for an atom feed" do
15
- Feedzirra::RSS.should_not be_able_to_parse(sample_atom_feed)
15
+ Feedzirra::Parser::RSS.should_not be_able_to_parse(sample_atom_feed)
16
16
  end
17
17
  end
18
18
 
19
19
  describe "parsing" do
20
20
  before(:each) do
21
- @feed = Feedzirra::RSS.parse(sample_rss_feed)
21
+ @feed = Feedzirra::Parser::RSS.parse(sample_rss_feed)
22
22
  end
23
23
 
24
24
  it "should parse the title" do
@@ -0,0 +1,16 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Feedzirra::PushParser do
4
+ describe "#parse" do
5
+ it "should parse an atom feed" do
6
+ pp = Feedzirra::PushParser.new
7
+ sample_atom_feed.each_char { |c|
8
+ pp.push(c)
9
+ }
10
+ feed = pp.finish
11
+ feed.title.should == "Amazon Web Services Blog"
12
+ feed.entries.first.published.to_s.should == "Fri Jan 16 18:21:00 UTC 2009"
13
+ feed.entries.size.should == 10
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: astro-feedzirra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8.20090419
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Dix
@@ -83,35 +83,38 @@ extra_rdoc_files: []
83
83
  files:
84
84
  - lib/core_ext/date.rb
85
85
  - lib/core_ext/string.rb
86
- - lib/feedzirra.rb
87
86
  - lib/feedzirra/feed.rb
88
- - lib/feedzirra/atom.rb
89
- - lib/feedzirra/atom_entry.rb
90
- - lib/feedzirra/atom_feed_burner.rb
91
- - lib/feedzirra/atom_feed_burner_entry.rb
92
- - lib/feedzirra/itunes_rss.rb
93
- - lib/feedzirra/itunes_rss_item.rb
94
- - lib/feedzirra/itunes_rss_owner.rb
95
- - lib/feedzirra/rss.rb
96
- - lib/feedzirra/rss_entry.rb
97
- - lib/feedzirra/feed_utilities.rb
98
87
  - lib/feedzirra/feed_entry_utilities.rb
99
- - README.textile
88
+ - lib/feedzirra/feed_utilities.rb
89
+ - lib/feedzirra/parser/atom.rb
90
+ - lib/feedzirra/parser/atom_entry.rb
91
+ - lib/feedzirra/parser/atom_feed_burner.rb
92
+ - lib/feedzirra/parser/atom_feed_burner_entry.rb
93
+ - lib/feedzirra/parser/itunes_rss.rb
94
+ - lib/feedzirra/parser/itunes_rss_item.rb
95
+ - lib/feedzirra/parser/itunes_rss_owner.rb
96
+ - lib/feedzirra/parser/rss.rb
97
+ - lib/feedzirra/parser/rss_entry.rb
98
+ - lib/feedzirra/push_parser.rb
99
+ - lib/feedzirra.rb
100
100
  - Rakefile
101
- - spec/spec.opts
102
- - spec/spec_helper.rb
101
+ - README.rdoc
102
+ - README.textile
103
+ - spec/feedzirra/feed_entry_utilities_spec.rb
103
104
  - spec/feedzirra/feed_spec.rb
104
- - spec/feedzirra/atom_spec.rb
105
- - spec/feedzirra/atom_entry_spec.rb
106
- - spec/feedzirra/atom_feed_burner_spec.rb
107
- - spec/feedzirra/atom_feed_burner_entry_spec.rb
108
- - spec/feedzirra/itunes_rss_spec.rb
109
- - spec/feedzirra/itunes_rss_item_spec.rb
110
- - spec/feedzirra/itunes_rss_owner_spec.rb
111
- - spec/feedzirra/rss_spec.rb
112
- - spec/feedzirra/rss_entry_spec.rb
113
105
  - spec/feedzirra/feed_utilities_spec.rb
114
- - spec/feedzirra/feed_entry_utilities_spec.rb
106
+ - spec/feedzirra/push_parser_spec.rb
107
+ - spec/feedzirra/parser/atom_entry_spec.rb
108
+ - spec/feedzirra/parser/atom_feed_burner_entry_spec.rb
109
+ - spec/feedzirra/parser/atom_feed_burner_spec.rb
110
+ - spec/feedzirra/parser/atom_spec.rb
111
+ - spec/feedzirra/parser/itunes_rss_item_spec.rb
112
+ - spec/feedzirra/parser/itunes_rss_owner_spec.rb
113
+ - spec/feedzirra/parser/itunes_rss_spec.rb
114
+ - spec/feedzirra/parser/rss_entry_spec.rb
115
+ - spec/feedzirra/parser/rss_spec.rb
116
+ - spec/spec.opts
117
+ - spec/spec_helper.rb
115
118
  has_rdoc: true
116
119
  homepage: http://github.com/pauldix/feedzirra
117
120
  post_install_message:
@@ -1,22 +0,0 @@
1
- module Feedzirra
2
- # == Summary
3
- # Parser for dealing with Atom feeds.
4
- #
5
- # == Attributes
6
- # * title
7
- # * feed_url
8
- # * url
9
- # * entries
10
- class Atom
11
- include SAXMachine
12
- include FeedUtilities
13
- element :title
14
- element :link, :as => :url, :value => :href, :with => {:type => "text/html"}
15
- element :link, :as => :feed_url, :value => :href, :with => {:type => "application/atom+xml"}
16
- elements :entry, :as => :entries, :class => AtomEntry
17
-
18
- def self.able_to_parse?(xml) #:nodoc:
19
- xml =~ /(Atom)|(#{Regexp.escape("http://purl.org/atom")})/
20
- end
21
- end
22
- end
@@ -1,29 +0,0 @@
1
- module Feedzirra
2
- # == Summary
3
- # Parser for dealing with Atom feed entries.
4
- #
5
- # == Attributes
6
- # * title
7
- # * url
8
- # * author
9
- # * content
10
- # * summary
11
- # * published
12
- # * categories
13
- class AtomEntry
14
- include SAXMachine
15
- include FeedEntryUtilities
16
- element :title
17
- element :link, :as => :url, :value => :href, :with => {:type => "text/html", :rel => "alternate"}
18
- element :name, :as => :author
19
- element :content
20
- element :summary
21
- element :published
22
- element :id
23
- element :created, :as => :published
24
- element :issued, :as => :published
25
- element :updated
26
- element :modified, :as => :updated
27
- elements :category, :as => :categories, :value => :term
28
- end
29
- end
@@ -1,22 +0,0 @@
1
- module Feedzirra
2
- # == Summary
3
- # Parser for dealing with Feedburner Atom feeds.
4
- #
5
- # == Attributes
6
- # * title
7
- # * feed_url
8
- # * url
9
- # * entries
10
- class AtomFeedBurner
11
- include SAXMachine
12
- include FeedUtilities
13
- element :title
14
- element :link, :as => :url, :value => :href, :with => {:type => "text/html"}
15
- element :link, :as => :feed_url, :value => :href, :with => {:type => "application/atom+xml"}
16
- elements :entry, :as => :entries, :class => AtomFeedBurnerEntry
17
-
18
- def self.able_to_parse?(xml) #:nodoc:
19
- (xml =~ /Atom/ && xml =~ /feedburner/) || false
20
- end
21
- end
22
- end
@@ -1,30 +0,0 @@
1
- module Feedzirra
2
- # == Summary
3
- # Parser for dealing with Feedburner Atom feed entries.
4
- #
5
- # == Attributes
6
- # * title
7
- # * url
8
- # * author
9
- # * content
10
- # * summary
11
- # * published
12
- # * categories
13
- class AtomFeedBurnerEntry
14
- include SAXMachine
15
- include FeedEntryUtilities
16
- element :title
17
- element :name, :as => :author
18
- element :link, :as => :url, :value => :href, :with => {:type => "text/html", :rel => "alternate"}
19
- element :"feedburner:origLink", :as => :url
20
- element :summary
21
- element :content
22
- element :published
23
- element :id
24
- element :issued, :as => :published
25
- element :created, :as => :published
26
- element :updated
27
- element :modified, :as => :updated
28
- elements :category, :as => :categories, :value => :term
29
- end
30
- end