Class: MovieOrganizer::Video

Inherits:
Media
  • Object
show all
Defined in:
lib/movie_organizer/video.rb

Instance Attribute Summary collapse

Attributes inherited from Media

#filename, #logger, #options

Instance Method Summary collapse

Methods inherited from Media

#movie?, subtype, #tv_show?, #year

Constructor Details

#initialize(filename, options) ⇒ Video



7
8
9
10
# File 'lib/movie_organizer/video.rb', line 7

def initialize(filename, options)
  @settings = Settings.new
  super
end

Instance Attribute Details

#settingsObject (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_timeObject



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_filenameObject



20
21
22
# File 'lib/movie_organizer/video.rb', line 20

def processed_filename
  "#{title} (#{year})#{ext}"
end

#target_dirObject

private



43
44
45
# File 'lib/movie_organizer/video.rb', line 43

def target_dir
  File.join(settings[:videos][:directory], "#{title} (#{date_time})")
end

#titleObject



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(
      "        |Please enter a friendly title for this video: [\#{filename}]\n        |or just hit enter to keep the current title\n      STRING\n    )\n    binding.pry\n  end\nend\n".here_with_pipe(' ')