Skip to content

Instantly share code, notes, and snippets.

@andreaseger
Last active December 20, 2015 06:19
Show Gist options
  • Save andreaseger/6084670 to your computer and use it in GitHub Desktop.
Save andreaseger/6084670 to your computer and use it in GitHub Desktop.
very simple rss fetcher to search for items
#!/bin/env ruby
require 'open-uri'
require 'rss'
require 'pry'
class Feedly
attr_accessor :url, :store
def initialize url
@url = url
@store ||= fetch
end
def fetch
items = []
open(url) do |rss|
feed = RSS::Parser.parse(rss)
items = feed.items
end
items
end
def log item
puts item.title,
item.itunes_subtitle,
item.enclosure.url,
item.pubDate,
'=-'*15
end
# def search t, since=nil
# items = store.select{ |item| item.pubDate > since } if since
def search t
store.each.with_index{|e|
full_text = [e.title, e.description].join(' ')
log store[i] if full_text.match(/.*#{t}.*/i)
}
end
end
#feedly = Feedly.new 'http://nerdist.libsyn.com/rss'
feedly = Feedly.new ARGV[0]
feedly.search ARGV[1]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment