Module: LiarsDice::Watcher
- Included in:
- CommandLineWatcher, Engine
- Defined in:
- lib/liars_dice/watcher.rb
Instance Method Summary collapse
- #after_bid(callback) ⇒ Object
- #after_bs(callback) ⇒ Object
- #after_dice_rolled(callback) ⇒ Object
- #after_game(callback) ⇒ Object
- #after_invalid_bid(callback) ⇒ Object
- #after_round(callback) ⇒ Object
- #after_seats_assigned(callback) ⇒ Object
- #handle_event(event) ⇒ Object
Instance Method Details
#after_bid(callback) ⇒ Object
4 5 6 |
# File 'lib/liars_dice/watcher.rb', line 4 def after_bid(callback) append_callback(:after_bid, callback) end |
#after_bs(callback) ⇒ Object
12 13 14 |
# File 'lib/liars_dice/watcher.rb', line 12 def after_bs(callback) append_callback(:after_bs, callback) end |
#after_dice_rolled(callback) ⇒ Object
20 21 22 |
# File 'lib/liars_dice/watcher.rb', line 20 def after_dice_rolled(callback) append_callback(:after_dice_rolled, callback) end |
#after_game(callback) ⇒ Object
16 17 18 |
# File 'lib/liars_dice/watcher.rb', line 16 def after_game(callback) append_callback(:after_game, callback) end |
#after_invalid_bid(callback) ⇒ Object
28 29 30 |
# File 'lib/liars_dice/watcher.rb', line 28 def after_invalid_bid(callback) append_callback(:after_invalid_bid, callback) end |
#after_round(callback) ⇒ Object
8 9 10 |
# File 'lib/liars_dice/watcher.rb', line 8 def after_round(callback) append_callback(:after_round, callback) end |
#after_seats_assigned(callback) ⇒ Object
24 25 26 |
# File 'lib/liars_dice/watcher.rb', line 24 def after_seats_assigned(callback) append_callback(:after_seats_assigned, callback) end |
#handle_event(event) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/liars_dice/watcher.rb', line 32 def handle_event(event) if event.is_a? BidMadeEvent fire(:after_bid, event.seat_number, event.bid) elsif event.is_a? BSCalledEvent fire(:after_bs, event.seat_number) elsif event.is_a? LoserEvent fire(:after_round, event.seat_number) elsif event.is_a? WinnerEvent fire(:after_game, event.seat_number) elsif event.is_a? DiceRolledEvent fire(:after_dice_rolled, event.dice) elsif event.is_a? SeatsAssignedEvent fire(:after_seats_assigned, event.seat_assignments) elsif event.is_a? InvalidBidEvent fire(:after_invalid_bid, event.seat_number) end end |