Sha256: f518ea2a20e2473db8642e22f03c51f261d17b620094cdf38647228560571e4a

Contents?: true

Size: 1.67 KB

Versions: 63

Compression:

Stored size: 1.67 KB

Contents

module Feedzirra
  
  module Parser
    # iTunes is RSS 2.0 + some apple extensions
    # Source: http://www.apple.com/itunes/whatson/podcasts/specs.html
    class ITunesRSS
      include SAXMachine
      include FeedUtilities

      attr_accessor :feed_url

      # RSS 2.0 elements that need including
      element :copyright
      element :description
      element :language
      element :managingEditor
      element :title
      element :link, :as => :url

      # If author is not present use managingEditor on the channel
      element :"itunes:author", :as => :itunes_author
      element :"itunes:block", :as => :itunes_block
      element :"itunes:image", :value => :href, :as => :itunes_image
      element :"itunes:explicit", :as => :itunes_explicit
      element :"itunes:keywords", :as => :itunes_keywords
      # New URL for the podcast feed
      element :"itunes:new-feed-url", :as => :itunes_new_feed_url
      element :"itunes:subtitle", :as => :itunes_subtitle
      # If summary is not present, use the description tag
      element :"itunes:summary", :as => :itunes_summary

      # iTunes RSS feeds can have multiple main categories...
      # ...and multiple sub-categories per category
      # TODO subcategories not supported correctly - they are at the same level
      #   as the main categories
      elements :"itunes:category", :as => :itunes_categories, :value => :text

      elements :"itunes:owner", :as => :itunes_owners, :class => ITunesRSSOwner

      elements :item, :as => :entries, :class => ITunesRSSItem

      def self.able_to_parse?(xml)
        xml =~ /xmlns:itunes=\"http:\/\/www.itunes.com\/dtds\/podcast-1.0.dtd\"/
      end

    end
    
  end
  
end

Version data entries

63 entries across 63 versions & 24 rubygems

Version Path
UnderpantsGnome-feedzirra-0.0.14 lib/feedzirra/parser/itunes_rss.rb
astro-feedzirra-0.0.12 lib/feedzirra/parser/itunes_rss.rb
dakrone-feedzirra-0.0.16.1 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.1 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.10 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.12 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.2 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.3 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.4 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.5 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.6 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.7 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.8 lib/feedzirra/parser/itunes_rss.rb
jsl-feedzirra-0.0.12.9 lib/feedzirra/parser/itunes_rss.rb
julien51-feedzirra-0.0.13 lib/feedzirra/parser/itunes_rss.rb
julien51-feedzirra-0.0.14 lib/feedzirra/parser/itunes_rss.rb
julien51-feedzirra-0.0.16 lib/feedzirra/parser/itunes_rss.rb
kete-feedzirra-0.0.16.1 lib/feedzirra/parser/itunes_rss.rb
kete-feedzirra-0.0.18.1 lib/feedzirra/parser/itunes_rss.rb
logophobia-feedzirra-0.0.15 lib/feedzirra/parser/itunes_rss.rb