class Volay::Config
Config
class
Attributes
logger[R]
mixer[R]
options[R]
Public Class Methods
config_file()
click to toggle source
Get config file
@return [String]
# File lib/volay/config.rb, line 45 def self.config_file File.expand_path('~/.volay') end
get(option)
click to toggle source
Get option
@return [Mixed]
# File lib/volay/config.rb, line 24 def self.get(option) @options ||= {} @options[option.to_sym] if @options.key?(option.to_sym) end
init_config()
click to toggle source
Get option
@return [Mixed]
# File lib/volay/config.rb, line 14 def self.init_config File.write(config_file, '') unless File.exist?(config_file) logger.level = get(:log_level) end
logger()
click to toggle source
Get logger
@return [Logger]
# File lib/volay/config.rb, line 54 def self.logger @logger ||= Logger.new(STDOUT) end
mixer()
click to toggle source
Initialize mixer for controlling volume
# File lib/volay/config.rb, line 61 def self.mixer raise MixerNotFound unless which('pacmd') @mixer ||= Volay::Mixer::Pulse.new end
set(option, value)
click to toggle source
Set option
@param [String|Symbol] option Option key @param [Mixed] value Option value
# File lib/volay/config.rb, line 35 def self.set(option, value) @options ||= {} @options[option.to_sym] = value end
which(cmd)
click to toggle source
Cross-platform way of finding an executable in the $PATH.
Example:
which('ruby') #=> /usr/bin/ruby which('foo') #=> nil
@param [String] cmd Which command @return [String|NilClass]
# File lib/volay/config.rb, line 77 def self.which(cmd) exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : [''] ENV['PATH'].split(File::PATH_SEPARATOR).each do |path| exts.each do |ext| exe = File.join(path, "#{cmd}#{ext}") return exe if File.executable?(exe) && !File.directory?(exe) end end nil end