Class: SimpleRSS

### Home Classes Methods

### In Files

- lib/parsers/simple-rss.rb

### Parent

Object

### Methods

- #clean_content
- #unescape

### Files

- History.txt
- License.txt
- Manifest.txt
- README.txt

### Class/Module Index

Quicksearch

- FeedNormalizer
- FeedNormalizer::ElementCleaner
- FeedNormalizer::ElementEquality
- FeedNormalizer::Entry
- FeedNormalizer::Feed
- FeedNormalizer::FeedNormalizer
- FeedNormalizer::HtmlCleaner
- FeedNormalizer::Parser
- FeedNormalizer::ParserRegistry
- FeedNormalizer::RewriteRelativeLinks
- FeedNormalizer::RubyRssParser
- FeedNormalizer::SimpleRssParser
- FeedNormalizer::Singular
- FeedNormalizer::TimeFix
- RSS
- RSS::Rss
- RSS::Rss::Channel
- RSS::Rss::Channel::Item
- RSS::Rss::Channel::Item::Enclosure
- SimpleRSS

No matching classes.

# SimpleRSS

Monkey patches for outstanding issues logged in the simple-rss project.

    * Add support for issued time field:
      http://rubyforge.org/tracker/index.php?func=detail&aid=13980&group_id=893&atid=3517
    * The '+' symbol is lost when escaping fields.
      http://rubyforge.org/tracker/index.php?func=detail&aid=10852&group_id=893&atid=3517

### Public Instance Methods

clean_content(tag, attrs, content) click to toggle source

    # File lib/parsers/simple-rss.rb, line 13
    def clean_content(tag, attrs, content)
      content = content.to_s
      case tag
        when :pubDate, :lastBuildDate, :published, :updated, :expirationDate, :modified, :'dc:date', :issued
          Time.parse(content) rescue unescape(content)
        when :author, :contributor, :skipHours, :skipDays
          unescape(content.gsub(/<.*?>/,''))
        else
          content.empty? && "#{attrs} " =~ /href=['"]?([^'"]*)['" ]/i ? $1.strip : unescape(content)
      end
    end

unescape(s) click to toggle source

    # File lib/parsers/simple-rss.rb, line 26
     def unescape(s)
      if s =~ /^\s*(<!\[CDATA\[|\]\]>)/
        # Raw HTML is inside the CDATA, so just remove the CDATA wrapper.
        s.gsub(/(<!\[CDATA\[|\]\]>)/,'')
      elsif s =~ /[<>]/
        # Already looks like HTML.
        s
      else
        # Make it HTML.
        FeedNormalizer::HtmlCleaner.unescapeHTML(s)
      end
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.