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! ⇒ 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.
5 6 7 |
# File 'lib/movie_organizer/video.rb', line 5 def settings @settings end |
Instance Method Details
#date_time ⇒ Object
36 37 38 39 |
# File 'lib/movie_organizer/video.rb', line 36 def date_time filestat = File.stat(filename) filestat.birthtime.strftime('%Y-%m-%d @ %l:%M %p') end |
#process! ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/movie_organizer/video.rb', line 12 def process! binding.pry FileUtils.mkdir_p(target_dir, noop: dry_run?) logger.info(" target dir: [#{target_dir}]") logger.info(" target file: [#{target_file.green.bold}]") FileUtils.move(filename, target_file, force: true, noop: dry_run?) end |
#processed_filename ⇒ Object
20 21 22 |
# File 'lib/movie_organizer/video.rb', line 20 def processed_filename "#{title} (#{year})#{ext}" end |
#target_dir ⇒ Object
private
43 44 45 |
# File 'lib/movie_organizer/video.rb', line 43 def target_dir File.join(settings[:videos][:directory], "#{title} (#{date_time})") end |
#title ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/movie_organizer/video.rb', line 24 def title @title ||= begin temp = MovieOrganizer.prompt_for( <<-STRING.here_with_pipe(' ') |Please enter a friendly title for this video: [#{filename}] |or just hit enter to keep the current title STRING ) binding.pry end end |