Skip to content

Latest commit

 

History

History
120 lines (82 loc) · 3.36 KB

README.md

File metadata and controls

120 lines (82 loc) · 3.36 KB

Mob Rotation

Features

  • Command line interface to simulate the mob programming environment
  • Timer funtionality to indicate rotation
  • Ability to tell who is the driver, navigator and mobsters

Instructions For Use

Organizing a group and getting everyone logged in to a single machine is hard enough: let the mob_rotation tool handle the rest!

First, install the mob_rotation gem from the terminal:

$ gem install mob_rotation

Now that the gem is installed, get a handy list of commands by running:

$ mob_rotation help

Nice! But mob programming revolves around action, so let's get our team in place using the add command:

$ mob_rotation add "John Lennon <[email protected]>"

Sweet! John has been added. Suppose you wanted to add the rest of the mobbers in one line:

$ mob_rotation add "Paul McCartney <[email protected]>" "George Harrison <[email protected]>" "Ringo Starr <[email protected]>"

Boom! Let's make sure they were all added correctly with the show command:

$ mob_rotation show

Here's what we get back:

git username: John Lennon
git user email: [email protected]
Driver John Lennon <[email protected]>
Navigator Paul McCartney <[email protected]>
Mobster George Harrison <[email protected]>
Mobster Ringo Starr <[email protected]>

Shoot! We have a typo in Ringo's email address, so let's remove him then add him back with the correct info:

$ mob_rotation remove "Ringo Starr"
$ mob_rotation add "Ringo Starr <[email protected]>"

Alright, we think we got it right this time... Let's use show to verify:

$ mob_rotation show

Which returns:

git username: John Lennon
git user email: [email protected]
Driver John Lennon <[email protected]>
Navigator Paul McCartney <[email protected]>
Mobster George Harrison <[email protected]>
Mobster Ringo Starr <[email protected]>

Perfect! Before we start hacking away, let's randomize our participant order with random:

$ mob_rotation random

Which returns:

git username: Ringo Starr
git user email: [email protected]
Driver Ringo Starr <[email protected]>
Navigator George Harrison <[email protected]>
Mobster John Lennon <[email protected]>
Mobster Paul McCartney <[email protected]>

Awesome! The group has been shuffled up and new roles have been assigned. Ringo is ready to drive, and George is ready to navigate: we'll start a 5-minute (300 second) mob cycle using the run_with_timer command:

$ mob_rotation run_with_timer 300

Great! George navigates and Ringo drives for 5 minutes, and as soon as that time is up the tool sends us a message at the command line:

Time to rotate

Solid! Let's move forward one cycle by using the rotate command:

$ mob_rotation rotate

Which returns:

git username: George Harrison
git user email: [email protected]
Driver George Harrison <[email protected]>
Navigator John Lennon <[email protected]>
Mobster Paul McCartney <[email protected]>
Mobster Ringo Starr <[email protected]>

Repeat the run_with_timer and rotate commands until the end of the mob session!

Gems and Dependencies

  • Ruby 2.1.2
  • RSpec

Upcoming Features

  • Timer
  • Randomization of Driver/Navigator
  • Browser-based GUI

Additional Resources

Credits

TODO