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