lib/feedzirra/parser/rss_entry.rb in UnderpantsGnome-feedzirra-0.0.15 vs lib/feedzirra/parser/rss_entry.rb in UnderpantsGnome-feedzirra-0.0.16
- old
+ new
@@ -1,9 +1,10 @@
require File.dirname(__FILE__) + '/mrss_content'
+require File.dirname(__FILE__) + '/mrss_credit'
+require File.dirname(__FILE__) + '/mrss_restriction'
module Feedzirra
-
module Parser
# == Summary
# Parser for dealing with RDF feed entries.
#
# == Attributes
@@ -15,40 +16,73 @@
# * published
# * categories
class RSSEntry
include SAXMachine
include FeedEntryUtilities
+
+ # RSS 2.0 elements
element :title
element :link, :as => :url
-
- element :"dc:creator", :as => :author
- element :"content:encoded", :as => :content
element :description, :as => :summary
-
+ element :author
+ elements :category, :as => :categories
+ element :comments
+ element :guid, :as => :id
element :pubDate, :as => :published
+ element :source
+ element :enclosure, :value => :length, :as => :enclosure_length
+ element :enclosure, :value => :type, :as => :enclosure_type
+ element :enclosure, :value => :url, :as => :enclosure_url
+
+
+ # RDF elements
element :"dc:date", :as => :published
element :"dc:Date", :as => :published
element :"dcterms:created", :as => :published
-
-
- element :"dcterms:modified", :as => :updated
element :issued, :as => :published
- elements :category, :as => :categories
+ element :"content:encoded", :as => :content
+ element :"dc:creator", :as => :author
+ element :"dcterms:modified", :as => :updated
- element :guid, :as => :id
-
- # TODO: uncomment this when the bug is resolved
- # element :enclosure, :value => :length, :as => :enclosure_length
- element :enclosure, :value => :type, :as => :enclosure_type
- element :enclosure, :value => :url, :as => :enclosure_url
-
+ # MediaRSS support
element :'media:thumbnail', :as => :media_thumbnail, :value => :url
element :'media:thumbnail', :as => :media_thumbnail_width, :value => :width
element :'media:thumbnail', :as => :media_thumbnail_height, :value => :height
element :'media:description', :as => :media_description
+
+ element :'media:rating', :as => :rating
+ element :'media:rating', :value => :scheme, :as => :rating_scheme
+
+ element :'media:title', :as => :media_title
+ element :'media:keywords', :as => :media_keywords
+
+ element :'media:category', :as => :media_category
+ element :'media:category', :value => :scheme, :as => :media_category_scheme
+ element :'media:category', :value => :label, :as => :media_category_label
+
+ element :'media:hash', :as => :media_hash
+ element :'media:hash', :value => :algo, :as => :media_hash_algo
+
+ element :'media:player', :value => :url, :as => :media_player_url
+ element :'media:player', :value => :width, :as => :media_player_width
+ element :'media:player', :value => :height, :as => :media_player_height
+
+ elements :'media:credit', :as => :credits, :class => MRSSCredit
+
+ element :'media:copyright', :as => :copyright
+ element :'media:copyright', :as => :copyright_url, :value => :url
+
+ element :'media:restriction', :as => :media_restriction, :class => MRSSRestriction
+
elements :'media:content', :as => :media_content, :class => MRSSContent
+ # iTunes
+ element :'itunes:author', :as => :author
+ element :'itunes:block', :as => :itunes_block
+ element :'itunes:duration', :as => :duration
+ element :'itunes:explicit', :as => :explicit
+ element :'itunes:keywords', :as => :keywords
+ element :'itunes:subtitle', :as => :subtitle
+ element :'itunes:summary', :as => :summary
end
-
end
-
end
\ No newline at end of file