Class: MovieOrganizer::Video
- Defined in:
- lib/movie_organizer/video.rb
Instance Attribute Summary collapse
-
#settings ⇒ Object
readonly
Returns the value of attribute settings.
Attributes inherited from Media
Instance Method Summary collapse
- #date_time ⇒ Object
-
#initialize(filename, options) ⇒ Video
constructor
A new instance of Video.
- #process!(file_copier = nil) ⇒ Object
- #processed_filename ⇒ Object
-
#target_dir ⇒ Object
private.
- #title ⇒ Object
Methods inherited from Media
#movie?, subtype, #tv_show?, #year
Constructor Details
Instance Attribute Details
#settings ⇒ Object (readonly)
Returns the value of attribute settings.
7 8 9 |
# File 'lib/movie_organizer/video.rb', line 7 def settings @settings end |
Instance Method Details
#date_time ⇒ Object
38 39 40 41 |
# File 'lib/movie_organizer/video.rb', line 38 def date_time filestat = File.stat(filename) filestat.birthtime.strftime('%Y-%m-%d @ %l:%M %p') end |
#process!(file_copier = nil) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/movie_organizer/video.rb', line 14 def process!(file_copier = nil) target_file = File.join(target_dir, processed_filename) logger.info(" target dir: [#{target_dir}]") logger.info(" target file: [#{target_file.green.bold}]") fc = file_copier || FileCopier.new(filename, target_file, ) fc.copy end |
#processed_filename ⇒ Object
22 23 24 |
# File 'lib/movie_organizer/video.rb', line 22 def processed_filename "#{title} (#{year})#{ext}" end |
#target_dir ⇒ Object
private
45 46 47 |
# File 'lib/movie_organizer/video.rb', line 45 def target_dir File.join(MovieOrganizer.video_directory, "#{title} (#{date_time})") end |
#title ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/movie_organizer/video.rb', line 26 def title @title ||= begin prompt = <<-STRING.here_with_pipe(' ') |Enter a friendly title for this video: [#{basename}] |or hit enter to keep the current title STRING new_title = MovieOrganizer.prompt_for(prompt, '') return File.basename(filename, ext) if new_title.nil? || new_title.empty? new_title end end |