class Freakonomics::Parser

Constants

DATE_REGEX

Public Class Methods

parse(feed) click to toggle source
# File lib/freakonomics/parser.rb, line 6
def self.parse feed
  new.parse(feed)
end

Public Instance Methods

parse(feed) click to toggle source
# File lib/freakonomics/parser.rb, line 10
def parse feed
  doc = Nokogiri::XML feed
  episodes = doc.css("item")
  episodes.inject([]) do |store, episode| 
    store << {
      name: extract_episode_title(episode),
      url: extract_episode_url(episode),
      publish_date: extract_episode_release_date(episode)
    }
  end
end

Private Instance Methods

extract_episode_release_date(episode) click to toggle source
# File lib/freakonomics/parser.rb, line 32
def extract_episode_release_date episode
  episode.css("pubDate").children.first.text.strip[DATE_REGEX]
end
extract_episode_title(episode) click to toggle source
# File lib/freakonomics/parser.rb, line 24
def extract_episode_title episode
  episode.css("title").children.first.text.strip
end
extract_episode_url(episode) click to toggle source
# File lib/freakonomics/parser.rb, line 28
def extract_episode_url episode
  episode.xpath("//feedburner:origEnclosureLink").children.first.text.gsub("www.podtrac.com/pts/redirect.mp3/","")
end