<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -27,7 +27,8 @@ class NewsArticleFeed &lt; ActiveRecord::Base
   # Parse the feed and create any new NewsArticles
   def create_news_articles(rssdata = nil)
     rss = get_rss_entries(rssdata)
-    articles = rss.entries.collect do |e|
+    entries = NewsArticleFeedFilter.filter(rss.entries)
+    articles = entries.collect do |e|
       url = e[:link]
       page = WebPageParser::ParserFactory.parser_for(:url =&gt; url, :page =&gt; nil)
       next nil if page.nil?
@@ -43,7 +44,7 @@ class NewsArticleFeed &lt; ActiveRecord::Base
       a.parser = page.class.to_s.split('::').last
       begin
         a.save!
-        logger.info &quot;NewsArticleFeed #{id}, NewsArticle #{a.id} discovered&quot;
+        logger.debug &quot;NewsArticleFeed #{id}, NewsArticle #{a.id} discovered&quot;
         next a
       rescue ActiveRecord::RecordInvalid
         logger.error &quot;NewsArticleFeed #{id}, NewsArticle '#{a.guid}' not created: #{a.errors.full_messages}&quot;</diff>
      <filename>app/models/news_article_feed.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,7 @@ class NewsArticleFeedFilter &lt; ActiveRecord::Base
   
   # Takes a hash of an rss feed entry and checks it against the filters
   def allows?(entry)
-    url_filter_allows?(entry[:url])
+    url_filter_allows?(entry[:url] || entry[:link])
   end
     
   def url_filter_allows?(url)</diff>
      <filename>app/models/news_article_feed_filter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,10 @@ describe NewsArticleFeedFilter do
     @naff.allows?(:url =&gt; @good_url).should == true
   end
   
+  it &quot;should match links against the url filter&quot; do
+    @naff.allows?(:link =&gt; @bad_url).should == false
+  end  
+  
   it &quot;should not match urls when there is no url filter defined&quot; do
     NewsArticleFeedFilter.new.allows?(:url =&gt; @bad_url).should == true
   end
@@ -42,7 +46,6 @@ describe NewsArticleFeedFilter do
   it &quot;should validate url_filter as a regular expression&quot; do
     naff = NewsArticleFeedFilter.new(@valid_attributes.merge(:url_filter =&gt; '.*\1'))
     naff.valid?.should == false
-    
   end
   
   it &quot;should match titles against the title filter&quot;</diff>
      <filename>spec/models/news_article_feed_filter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -75,6 +75,13 @@ describe NewsArticleFeed do
       articles.first.source.should == @valid_attributes[:source]
     end
     
+    it &quot;should not create NewsArticles for entries that match NewsArticleFeedFilters&quot; do
+      NewsArticleFeedFilter.create!(:name =&gt; &quot;Test&quot;, :url_filter =&gt; 'bbc')
+      f = NewsArticleFeed.create!(@valid_attributes)
+      articles = f.create_news_articles(some_rss_feed_xml)
+      articles.size.should == 0      
+    end
+    
   end
 
   </diff>
      <filename>spec/models/news_article_feed_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ea689291de0471622c427745731325ad7a8db4be</id>
    </parent>
  </parents>
  <author>
    <name>John Leach</name>
    <email>john@johnleach.co.uk</email>
  </author>
  <url>http://github.com/johnl/news-sniffer/commit/62d84b11b954a097c88f173214cb050014dcc3a3</url>
  <id>62d84b11b954a097c88f173214cb050014dcc3a3</id>
  <committed-date>2009-05-25T13:27:51-07:00</committed-date>
  <authored-date>2009-05-25T13:27:51-07:00</authored-date>
  <message>spec: NewsArticleFeedFilter should match links against the url filter

spec: NewsArticleFeed should not create NewsArticles for entries that match NewsArticleFeedFilters</message>
  <tree>12f3eaadabffa92aa4179e77baf926427b4b0f66</tree>
  <committer>
    <name>John Leach</name>
    <email>john@johnleach.co.uk</email>
  </committer>
</commit>
