/**
  * Show the permissions for a user
  *
  * @param array $options Command line options
  * @param OutputInterface $output Output interface object
  */
 public function showUserGroups(array $options = array(), $output)
 {
     if (empty($options['id'])) {
         throw new \InvalidArgumentException('You must specify a user ID!');
     }
     $user = Gatekeeper::findUserById($options['id']);
     $output->writeln("\n" . 'Showing groups for <options=bold>' . $user->username . '</options=bold>');
     $params = array('userId' => $options['id']);
     $columns = array('name' => 'Name', 'description' => 'Description', 'created' => 'Date Created', 'updated' => 'Date Updated', 'id' => 'ID');
     $data = array();
     $ds = Gatekeeper::getDatasource();
     $groups = Gatekeeper::findUserGroups($params);
     foreach ($groups->toArray(true) as $group) {
         $groupModel = new \Psecio\Gatekeeper\GroupModel($ds);
         $groupModel = $ds->find($groupModel, array('id' => $group['groupId']));
         $data[] = $groupModel->toArray();
     }
     $this->buildTable($columns, $data, $output);
 }