Class: JVCVideo
- Inherits:
-
Object
- Object
- JVCVideo
- Defined in:
- lib/JVCVideo.rb
Instance Method Summary collapse
- #get1080 ⇒ Object
- #get272 ⇒ Object
- #get400 ⇒ Object
- #get720 ⇒ Object
-
#initialize(url, output, logger, no_download) ⇒ JVCVideo
constructor
A new instance of JVCVideo.
- #save_video(url) ⇒ Object
Constructor Details
#initialize(url, output, logger, no_download) ⇒ JVCVideo
Returns a new instance of JVCVideo.
6 7 8 9 10 11 12 |
# File 'lib/JVCVideo.rb', line 6 def initialize(url, output, logger, no_download) @no_download = no_download @logger = logger @logger.info("Initializing URL Builder.".colorize(:green)) @url_parts = url.split(".") @output = output end |
Instance Method Details
#get1080 ⇒ Object
33 34 35 36 37 |
# File 'lib/JVCVideo.rb', line 33 def get1080 url = "http://video1080.jeuxvideo.#{@url_parts[2]}.mp4" @logger.info("Final url: #{url}".colorize(:green)) save_video(url) unless @no_download end |
#get272 ⇒ Object
53 54 55 56 57 58 |
# File 'lib/JVCVideo.rb', line 53 def get272 url = "http://video.jeuxvideo.#{@url_parts[2]}.mp4" url.gsub!('1080p', 'low') @logger.info("Final url: #{url}".colorize(:green)) save_video(url) unless @no_download end |
#get400 ⇒ Object
46 47 48 49 50 51 |
# File 'lib/JVCVideo.rb', line 46 def get400 url = "http://videohq.jeuxvideo.#{@url_parts[2]}.mp4" url.gsub!('1080p', 'high') logger.info("Final url: #{url}".colorize(:green)) save_video(url) unless @no_download end |
#get720 ⇒ Object
39 40 41 42 43 44 |
# File 'lib/JVCVideo.rb', line 39 def get720 url = "http://video720.jeuxvideo.#{@url_parts[2]}.mp4" url.gsub!('1080p', '720p') @logger.info("Final url: #{url}".colorize(:green)) save_video(url) unless @no_download end |
#save_video(url) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/JVCVideo.rb', line 14 def save_video(url) filename = URI(url).path.split('/').last if ::File.exist?(::File.join(@output, filename)) @logger.warn("File already exist.. Adding random number in path".colorize(:yellow)) fullpath = ::File.join(@output, "#{rand(5000).to_s}-#{filename}") else fullpath = ::File.join(@output, filename) end @logger.info("Saving #{filename} to #{fullpath}...".colorize(:green)) open(fullpath, 'wb') do |file| file.print open(url).read end @logger.info('Done!'.colorize(:green)) end |