Module: NyanCatFormat::Music
- Defined in:
- lib/nyan_cat_format/music.rb
Constant Summary collapse
- MUSIC_LENGTH =
seconds
27.06
Instance Method Summary collapse
- #dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object
- #kernel ⇒ Object
- #kernel=(kernel) ⇒ Object
- #kill_music ⇒ Object
- #linux? ⇒ Boolean
- #nyan_mp3 ⇒ Object
- #osx? ⇒ Boolean
- #platform ⇒ Object
- #platform=(platform) ⇒ Object
- #start(input) ⇒ Object
Instance Method Details
#dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object
62 63 64 65 |
# File 'lib/nyan_cat_format/music.rb', line 62 def dump_summary(duration, example_count, failure_count, pending_count) kill_music super end |
#kernel ⇒ Object
18 19 20 |
# File 'lib/nyan_cat_format/music.rb', line 18 def kernel @kernel ||= Kernel end |
#kernel=(kernel) ⇒ Object
14 15 16 |
# File 'lib/nyan_cat_format/music.rb', line 14 def kernel=(kernel) @kernel = kernel end |
#kill_music ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/nyan_cat_format/music.rb', line 52 def kill_music if File.exists? nyan_mp3 if osx? system("killall -9 afplay &>/dev/null") elsif linux? kill_music_on_linux end end end |
#linux? ⇒ Boolean
10 11 12 |
# File 'lib/nyan_cat_format/music.rb', line 10 def linux? platform.downcase.include?('linux') end |
#nyan_mp3 ⇒ Object
30 31 32 |
# File 'lib/nyan_cat_format/music.rb', line 30 def nyan_mp3 File.('../../../data/nyan-cat.mp3', __FILE__) end |
#osx? ⇒ Boolean
6 7 8 |
# File 'lib/nyan_cat_format/music.rb', line 6 def osx? platform.downcase.include?("darwin") end |
#platform ⇒ Object
26 27 28 |
# File 'lib/nyan_cat_format/music.rb', line 26 def platform @platform ||= RUBY_PLATFORM end |
#platform=(platform) ⇒ Object
22 23 24 |
# File 'lib/nyan_cat_format/music.rb', line 22 def platform=(platform) @platform = platform end |
#start(input) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/nyan_cat_format/music.rb', line 34 def start input super t = Thread.new do loop do if osx? kernel.system("afplay #{nyan_mp3} &") elsif linux? play_on_linux end Thread.current["started_playing"] ||= true sleep MUSIC_LENGTH end end until t["started_playing"] sleep 0.001 end end |