module Pouf

Constants

SOUNDS_DIR

Public Class Methods

add(name, fname) click to toggle source

Actions ##

# File lib/pouf.rb, line 49
def add name, fname
  fname =~ /.+\.(\w+)$/
  ext = $1

  FileUtils.cp fname, "#{SOUNDS_DIR}/#{name}.#{ext}"
end
alias2filename(name) click to toggle source
# File lib/pouf.rb, line 37
def alias2filename name
  fns = Dir["#{SOUNDS_DIR}/#{name}.*"]
  fns.first if fns
end
filename2alias(fname) click to toggle source
# File lib/pouf.rb, line 42
def filename2alias fname
  fname =~ /(?:.*?\/)?(.+)\.\w+$/
  $1
end
init() click to toggle source
# File lib/pouf.rb, line 56
def init
  FileUtils.mkdir_p SOUNDS_DIR
end
list() click to toggle source
# File lib/pouf.rb, line 60
def list
  Dir.entries(SOUNDS_DIR).select{ |f| f !~ /^\./ }.map do |f|
    filename2alias f
  end
end
mv(from, to) click to toggle source
# File lib/pouf.rb, line 66
def mv from, to
  f1 = alias2filename from
  f2 = f1.sub(/\/#{from}\./, "/#{to}.")

  FileUtils.mv(f1, f2) if f1 and f2
end
play(name, cmd=nil) click to toggle source
# File lib/pouf.rb, line 73
def play name, cmd=nil
  fname = alias2filename name
  play_sound(fname, cmd) if fname
end
play_cmd() click to toggle source
# File lib/pouf.rb, line 15
def play_cmd
  return ENV['POUF_CMD'].split(' ') if ENV['POUF_CMD']
  case RUBY_PLATFORM
  when /darwin/ then ['afplay']
  when /linux/  then ['mpg123', '-q']
  else nil
  end
end
play_sound(filename, cmd=nil) click to toggle source
# File lib/pouf.rb, line 24
def play_sound filename, cmd=nil
  return unless filename

  cmd ||= play_cmd

  if cmd
    system *cmd, filename
  else
    puts 'pouf is unsupported for your platform for now'
  end

end
rm(*names) click to toggle source
# File lib/pouf.rb, line 78
def rm *names
  names.each do |n|
    fs = alias2filename n
    if fs
      FileUtils.rm fs
    else
      puts "Warning: No sound found for '#{n}'."
    end
  end
end
version() click to toggle source
# File lib/pouf.rb, line 11
def version
  '0.1.2'
end