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 14 |
# File 'lib/railscasts_download/saver.rb', line 7 def initialize( ={} ) @downloader = [:downloader] || Downloader.new [:rss_uri] ||= "http://feeds.feedburner.com/railscasts" unless [:pro] [:login_uri] ||= "http://railscasts.com/login" if [:pro] @page = [:page_explorer] || PageExplorer.new( ) @rss = [:rss_explorer] || RssExplorer.new( @page.get_rss_body ) @after = [:after] end |
Instance Method Details
#get_all ⇒ Object
16 17 18 |
# File 'lib/railscasts_download/saver.rb', line 16 def get_all missing_videos_uris.each{ |video_uri| get_file( video_uri ) } end |
#get_file(uri) ⇒ Object
20 21 22 |
# File 'lib/railscasts_download/saver.rb', line 20 def get_file( uri ) @downloader.get( uri ) end |
#missing_videos_uris ⇒ Object
28 29 30 31 32 |
# File 'lib/railscasts_download/saver.rb', line 28 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
24 25 26 |
# File 'lib/railscasts_download/saver.rb', line 24 def videos_uris @rss.get_uris( after: @after ) end |