Advertisement
Guest User

Untitled

a guest
May 29th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.43 KB | None | 0 0
  1. class Sampson < Character
  2. def when(event, &block)
  3. @events[event] ||= []
  4. @events[event] << block
  5. end
  6.  
  7. def bite_thumb
  8. call_event :bite_thumb
  9. end
  10.  
  11. private
  12.  
  13. def events_for event
  14. @events[event] || []
  15. end
  16.  
  17. def call_event event
  18. events_for(event).each(&:call)
  19. end
  20. end
  21.  
  22. sampson.when(:bite_thumb) do
  23. gregory.ask "Do you bite your thumb at us, sir?"
  24. end
  25.  
  26. sampson.bite_thumb # => Abraham asks, “Do you..."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement