Module: MovieOrganizer

Defined in:
lib/movie_organizer/settings.rb,
lib/movie_organizer.rb,
lib/movie_organizer/media.rb,
lib/movie_organizer/movie.rb,
lib/movie_organizer/video.rb,
lib/movie_organizer/logger.rb,
lib/movie_organizer/tv_show.rb,
lib/movie_organizer/version.rb,
lib/movie_organizer/organizer.rb,
lib/movie_organizer/media_list.rb,
lib/movie_organizer/file_copier.rb

Overview

:nocov:

Defined Under Namespace

Classes: FileCopier, Logger, Media, MediaList, Movie, Organizer, Settings, TvShow, Video

Constant Summary collapse

VERSION =
'0.1.6'.freeze

Class Method Summary collapse

Class Method Details

.config_file(filename = '.movie_organizer.yml') ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/movie_organizer.rb', line 20

def self.config_file(filename = '.movie_organizer.yml')
  return root.join('spec', 'fixtures', filename) if current_environment == 'test'
  #:nocov:
  home = ENV.fetch('HOME')
  file = ENV.fetch('MO_CONFIG_FILE', File.join(home, '.movie_organizer.yml'))
  FileUtils.touch(file)
  file
  #:nocov:
end

.current_environmentObject



16
17
18
# File 'lib/movie_organizer.rb', line 16

def self.current_environment
  ENV.fetch('APP_ENV', 'development')
end

.prompt_for(message = '', test_response = nil) ⇒ Object

:nocov:



40
41
42
43
44
# File 'lib/movie_organizer.rb', line 40

def self.prompt_for(message = '', test_response = nil)
  prompt = "#{message.dup}\n? "
  return test_response if test_response
  Readline.readline(prompt, true).squeeze(' ').strip
end

.rootObject



12
13
14
# File 'lib/movie_organizer.rb', line 12

def self.root
  Pathname.new(File.dirname(__FILE__)).parent
end

.source_directories(settings = Settings.new, test_response = nil) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/movie_organizer.rb', line 30

def self.source_directories(settings = Settings.new, test_response = nil)
  settings[:new_media_directories] || begin
    strings = prompt_for('Media source directories (separated by a colon)', test_response)
    settings[:new_media_directories] = strings.split(':')
    settings.save
    settings[:new_media_directories]
  end
end