original_string: public function direct(array $params)
  	{
  		if (!isset($params['identifier']) && !isset($params['device_token'])) {
  			throw new MissingArgumentException('identifier or device_token');
  		}
  
  		if (!isset($params['recipients'])) {
  			throw new MissingArgumentException('recipients');
  		} else if (!is_array($params['recipients'])) {
  			throw new InvalidArgumentException('Invalid Argument: recipients must be passed as array');
  		} else {
  			$params['recipients'] = json_encode(array_values($params['recipients']));
  		}
  
  		if (!isset($params['message'])) {
  			throw new MissingArgumentException('message');
  		}
  
  		return $this->post('sharing/direct', $params);
  	}
code: public function direct(array $params)
  	{
  		if (!isset($params['identifier']) && !isset($params['device_token'])) {
  			throw new MissingArgumentException('identifier or device_token');
  		}
  
  		if (!isset($params['recipients'])) {
  			throw new MissingArgumentException('recipients');
  		} else if (!is_array($params['recipients'])) {
  			throw new InvalidArgumentException('Invalid Argument: recipients must be passed as array');
  		} else {
  			$params['recipients'] = json_encode(array_values($params['recipients']));
  		}
  
  		if (!isset($params['message'])) {
  			throw new MissingArgumentException('message');
  		}
  
  		return $this->post('sharing/direct', $params);
  	}
code_tokens: public function direct ( array $ params ) { if ( ! isset ( $ params [ 'identifier' ] ) && ! isset ( $ params [ 'device_token' ] ) ) { throw new MissingArgumentException ( 'identifier or device_token' ) ; } if ( ! isset ( $ params [ 'recipients' ] ) ) { throw new MissingArgumentException ( 'recipients' ) ; } else if ( ! is_array ( $ params [ 'recipients' ] ) ) { throw new InvalidArgumentException ( 'Invalid Argument: recipients must be passed as array' ) ; } else { $ params [ 'recipients' ] = json_encode ( array_values ( $ params [ 'recipients' ] ) ) ; } if ( ! isset ( $ params [ 'message' ] ) ) { throw new MissingArgumentException ( 'message' ) ; } return $ this -> post ( 'sharing/direct' , $ params ) ; }
docstring: Shares activity information directly with the specified recipents on a
  provider's network, instead of publishing it to everyone on the network.
  
  The `direct` call shares with one provider at a time, determined by the
  `identifier` or `device_token` you enter.
  
  @param array $params
  
  @link http://developers.janrain.com/documentation/api-methods/engage/sharing-widget/direct/
docstring_tokens: Shares activity information directly with the specified recipents on a provider s network instead of publishing it to everyone on the network .