class MikePlayer::Settings

Constants

DEFAULT_DIRECTORY
DEFAULT_VOLUME
PL_FILE_ENDING
SETTINGS_DIRECTORY

Attributes

minutes[R]
music_dir[R]
playlist[R]
random[R]
volume[R]

Public Class Methods

new(options) click to toggle source
# File lib/mikeplayer/settings.rb, line 10
def initialize(options)
  @shuffle   = options[:shuffle]
  @overwrite = options[:overwrite]
  @list      = options[:list]
  @home      = options[:home] || Dir.home
  @volume    = options[:volume] || DEFAULT_VOLUME
  @music_dir = options[:directory] || File.join(@home, DEFAULT_DIRECTORY)
  @settings_dir = options[:settings] || File.join(@home, SETTINGS_DIRECTORY)
  @minutes   = options[:minutes].to_i
  @debug     = options[:debug]
  @random    = options[:random].to_i

  if (false == Dir.exist?(@settings_dir))
    Dir.mkdir(@settings_dir)
  end

  @playlist  = find_playlist(options[:playlist])

  remove_playlist_if_needed(@playlist)
end

Public Instance Methods

debug?() click to toggle source
# File lib/mikeplayer/settings.rb, line 39
def debug?
  return (true == @debug)
end
list?() click to toggle source
# File lib/mikeplayer/settings.rb, line 47
def list?
  return true == @list
end
overwrite?() click to toggle source
# File lib/mikeplayer/settings.rb, line 43
def overwrite?
  return true == @overwrite
end
random?() click to toggle source
# File lib/mikeplayer/settings.rb, line 35
def random?
  return 0 < @random
end
shuffle?() click to toggle source
# File lib/mikeplayer/settings.rb, line 31
def shuffle?
  return true == @shuffle
end

Private Instance Methods

find_playlist(user_option) click to toggle source
# File lib/mikeplayer/settings.rb, line 53
def find_playlist(user_option)
  name = nil

  if (false == user_option.nil?)
    if (true == File.file?(user_option))
      return user_option
    else
      name = File.basename(user_option, PL_FILE_ENDING)
    end
  elsif (true == self.random?)
    name = "random_n#{@random}"
  else
    name = 'default'
  end

  return File.join(@settings_dir, "#{name}#{PL_FILE_ENDING}")
end
remove_playlist_if_needed(filename) click to toggle source
# File lib/mikeplayer/settings.rb, line 71
def remove_playlist_if_needed(filename)
  if (true == File.file?(filename))
    if ((true == overwrite?) || (true == random?))
      File.delete(filename)
    end
  end
end