Class: MovieOrganizer::Movie
- Inherits:
-
Media
- Object
- Media
- MovieOrganizer::Movie
show all
- Defined in:
- lib/movie_organizer/movie.rb
Instance Attribute Summary
Attributes inherited from Media
#filename, #logger, #options, #settings
Instance Method Summary
collapse
Methods inherited from Media
#movie?, subtype, #tv_show?, #year
Constructor Details
#initialize(filename, options) ⇒ Movie
8
9
10
|
# File 'lib/movie_organizer/movie.rb', line 8
def initialize(filename, options)
super
end
|
Instance Method Details
#process! ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/movie_organizer/movie.rb', line 12
def process!
settings = Settings.new
target_dir = File.join(
settings[:movies][:directory],
"#{title} (#{year})"
)
FileUtils.mkdir_p(target_dir, noop: dry_run?)
target_file = File.join(
target_dir,
processed_filename
)
logger.info(" target dir: [#{target_dir}]")
logger.info(" target file: [#{target_file.green.bold}]")
fc = FileCopier.new(filename, target_file, options)
fc.copy
end
|
#processed_filename ⇒ Object
29
30
31
|
# File 'lib/movie_organizer/movie.rb', line 29
def processed_filename
"#{title} (#{year})#{ext}"
end
|
#title ⇒ Object
33
34
35
36
37
38
39
|
# File 'lib/movie_organizer/movie.rb', line 33
def title
ext_regex = Regexp.new(ext.sub(/\./, '\\.'))
newbase = sanitize(
basename.sub(/#{ext_regex}$/, '').sub(/\(?#{year}\)?/, '')
)
@title ||= newbase
end
|