class Freakonomics::CLI
Public Class Methods
all(opts)
click to toggle source
# File lib/freakonomics/cli.rb, line 26 def self.all opts raw_feed = Freakonomics::Fetcher.fetch_feed metadata = Freakonomics::Parser.parse(raw_feed) metadata.each do |episode_metadata| Freakonomics::Reporter.download(episode_metadata[:name]) episode = Freakonomics::Downloader.download(episode_metadata[:name], episode_metadata[:url]) Freakonomics::FileSaver.save!(episode_metadata[:name], episode, opts[:path]) Freakonomics::Reporter.downloaded(episode_metadata[:name]) end end
episode(opts)
click to toggle source
# File lib/freakonomics/cli.rb, line 10 def self.episode opts raw_feed = Freakonomics::Fetcher.fetch_feed metadata = Freakonomics::Parser.parse(raw_feed) if opts[:name] episode_metadata = metadata.detect {|meta| meta[:name] == opts[:name] } abort("No episode found with name: #{opts[:name]}") unless episode_metadata end if opts[:publish_date] episode_metadata = metadata.detect {|meta| meta[:publish_date] == opts[:publish_date] } abort("No episode found with release date: #{opts[:publish_date]}") unless episode_metadata end Freakonomics::Reporter.download(episode_metadata[:name]) episode = Freakonomics::Downloader.download(episode_metadata[:name], episode_metadata[:url]) Freakonomics::FileSaver.save!(episode_metadata[:name], episode, opts[:path]) end
latest(opts)
click to toggle source
# File lib/freakonomics/cli.rb, line 2 def self.latest opts raw_feed = Freakonomics::Fetcher.fetch_feed metadata = Freakonomics::Parser.parse(raw_feed).first Freakonomics::Reporter.download(metadata[:name]) episode = Freakonomics::Downloader.download(metadata[:name], metadata[:url]) Freakonomics::FileSaver.save!(metadata[:name], episode, opts[:path]) end