class Death::Voice

Public Class Methods

new(ressure_factor = 3) click to toggle source
# File lib/death/voice.rb, line 12
def initialize(ressure_factor = 3)
  @ressure_factor = ressure_factor
end
say(message) click to toggle source
# File lib/death/voice.rb, line 7
def say(message)
  new.say(message)
end

Public Instance Methods

say(message) click to toggle source
# File lib/death/voice.rb, line 16
def say(message)
  raise 'death command is supporting only Mac OS X.' unless supported_os?

  fork do
    sound_pressure { spawn("say -v Ralph #{Shellwords.shellescape(message)}") }
  end
end

Private Instance Methods

sound_pressure() { || ... } click to toggle source
# File lib/death/voice.rb, line 26
def sound_pressure
  processor_count = Facter[:processorcount].value

  (processor_count * @ressure_factor).times { yield }
end
supported_os?() click to toggle source
# File lib/death/voice.rb, line 32
def supported_os?
  if RUBY_PLATFORM == 'java'
    require 'java'
    java.lang.System.getProperty('os.name') == 'Mac OS X'
  else
    /darwin/ === RUBY_PLATFORM
  end
end