Class: WaitingOnRails::Rails

Inherits:
Object
  • Object
show all
Defined in:
lib/waiting_on_rails/rails.rb

Instance Method Summary collapse

Constructor Details

#initialize(music_player, ding_player = nil) ⇒ Rails

Returns a new instance of Rails.



8
9
10
11
# File 'lib/waiting_on_rails/rails.rb', line 8

def initialize(music_player, ding_player = nil)
  @music_player = music_player
  @ding_player  = ding_player
end

Instance Method Details

#run(args) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/waiting_on_rails/rails.rb', line 13

def run(args)
  if not should_play_music?(args)
    exec_rails_command(args)
  end

  spawn_rails_subprocess(args) do |output, pid|
    @music_player.start
    handle_signals(pid, output)
    main_loop(output)
  end
rescue Exit
  exit(1)
ensure
  @music_player.stop
end