Class: RailscastsDownload::Saver
- Inherits:
-
Object
- Object
- RailscastsDownload::Saver
- Defined in:
- lib/railscasts_download/saver.rb
Instance Method Summary collapse
- #get_all ⇒ Object
- #get_file(uri) ⇒ Object
-
#initialize(options = {}) ⇒ Saver
constructor
A new instance of Saver.
- #missing_videos_uris ⇒ Object
- #videos_uris ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Saver
Returns a new instance of Saver.
7 8 9 10 11 12 13 |
# File 'lib/railscasts_download/saver.rb', line 7 def initialize( ={} ) @downloader = [:downloader] || Downloader.new [:rss_uri] ||= "http://feeds.feedburner.com/railscasts" unless [:revised] [:login_uri] ||= "http://railscasts.com/login" if [:revised] @page = [:page_explorer] || PageExplorer.new( ) @rss = [:rss_explorer] || RssExplorer.new( @page.get_rss_body ) end |
Instance Method Details
#get_all ⇒ Object
15 16 17 |
# File 'lib/railscasts_download/saver.rb', line 15 def get_all missing_videos_uris.each{ |video_uri| get_file( video_uri ) } end |
#get_file(uri) ⇒ Object
19 20 21 |
# File 'lib/railscasts_download/saver.rb', line 19 def get_file( uri ) @downloader.get( uri ) end |
#missing_videos_uris ⇒ Object
27 28 29 30 31 |
# File 'lib/railscasts_download/saver.rb', line 27 def missing_videos_uris videos_filenames = videos_uris.map { |url| url.split( '/' ).last } missing_files = videos_filenames - Dir.glob( '*.mp4' ) videos_uris.select{ |uri| missing_files.any? { |filename| uri.match filename } } end |
#videos_uris ⇒ Object
23 24 25 |
# File 'lib/railscasts_download/saver.rb', line 23 def videos_uris @rss.get_uris end |