Sha256: dffab2f737cab03447e121b78a79a77303504dac52b3680058b0d500a3edf9e3

Contents?: true

Size: 940 Bytes

Versions: 8

Compression:

Stored size: 940 Bytes

Contents

# frozen_string_literal: true

require 'net/scp'
require 'net/ssh'

module MovieOrganizer
  class Movie < Media
    def initialize(filename, options)
      super
    end

    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

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

    def title
      ext_regex = Regexp.new(ext.sub(/\./, '\\.'))
      newbase = sanitize(
        basename.sub(/#{ext_regex}$/, '').sub(/\(?#{year}\)?/, '')
      )
      @title ||= newbase
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
movie_organizer-0.1.7 lib/movie_organizer/movie.rb
movie_organizer-0.1.6 lib/movie_organizer/movie.rb
movie_organizer-0.1.5 lib/movie_organizer/movie.rb
movie_organizer-0.1.4 lib/movie_organizer/movie.rb
movie_organizer-0.1.3 lib/movie_organizer/movie.rb
movie_organizer-0.1.2 lib/movie_organizer/movie.rb
movie_organizer-0.1.1 lib/movie_organizer/movie.rb
movie_organizer-0.1.0 lib/movie_organizer/movie.rb