public static function factory($config = array())
    {
        $default = array(
            'base_url' => 'https://api.runkeeper.com',
            'logger' => FALSE,
        );
        $required = array('base_url');

        $config = Collection::fromConfig($config, $default, $required);

        $client = new self($config->get('base_url'));
        $client->setConfig($config);

        $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json'));

        // Set the iterator resource factory based on the provided iterators config
        $clientClass = get_class();
        $prefix = substr($clientClass, 0, strrpos($clientClass, '\\'));
        $client->setResourceIteratorFactory(
            new HealthGraphIteratorFactory(array("{$prefix}\\Common\\Iterator"))
        );

        if ($config->get('logger')) {
            $adapter = new \Guzzle\Log\PsrLogAdapter($config->get('logger'));
            $logPlugin = new \Guzzle\Plugin\Log\LogPlugin(
                $adapter,
                \Guzzle\Log\MessageFormatter::DEBUG_FORMAT
            );
            $client->addSubscriber($logPlugin);
        }

        return $client;
    }
public static function factory($config = array())
    {
        $default = array(
            'base_url' => 'https://api.runkeeper.com',
            'logger' => FALSE,
        );
        $required = array('base_url');

        $config = Collection::fromConfig($config, $default, $required);

        $client = new self($config->get('base_url'));
        $client->setConfig($config);

        $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json'));

        // Set the iterator resource factory based on the provided iterators config
        $clientClass = get_class();
        $prefix = substr($clientClass, 0, strrpos($clientClass, '\\'));
        $client->setResourceIteratorFactory(
            new HealthGraphIteratorFactory(array("{$prefix}\\Common\\Iterator"))
        );

        if ($config->get('logger')) {
            $adapter = new \Guzzle\Log\PsrLogAdapter($config->get('logger'));
            $logPlugin = new \Guzzle\Plugin\Log\LogPlugin(
                $adapter,
                \Guzzle\Log\MessageFormatter::DEBUG_FORMAT
            );
            $client->addSubscriber($logPlugin);
        }

        return $client;
    }
public static function factory ( $ config = array ( ) ) { $ default = array ( 'base_url' => 'https://api.runkeeper.com' , 'logger' => FALSE , ) ; $ required = array ( 'base_url' ) ; $ config = Collection :: fromConfig ( $ config , $ default , $ required ) ; $ client = new self ( $ config -> get ( 'base_url' ) ) ; $ client -> setConfig ( $ config ) ; $ client -> setDescription ( ServiceDescription :: factory ( __DIR__ . DIRECTORY_SEPARATOR . 'client.json' ) ) ; // Set the iterator resource factory based on the provided iterators config $ clientClass = get_class ( ) ; $ prefix = substr ( $ clientClass , 0 , strrpos ( $ clientClass , '\\' ) ) ; $ client -> setResourceIteratorFactory ( new HealthGraphIteratorFactory ( array ( "{$prefix}\\Common\\Iterator" ) ) ) ; if ( $ config -> get ( 'logger' ) ) { $ adapter = new \ Guzzle \ Log \ PsrLogAdapter ( $ config -> get ( 'logger' ) ) ; $ logPlugin = new \ Guzzle \ Plugin \ Log \ LogPlugin ( $ adapter , \ Guzzle \ Log \ MessageFormatter :: DEBUG_FORMAT ) ; $ client -> addSubscriber ( $ logPlugin ) ; } return $ client ; }
Factory method to create a new HealthGraphClient

@param array|Collection $config Configuration data. Array keys:
base_url - Base URL of web service

@return HealthGraphClient

@TODO update factory method and docblock for parameters
Factory method to create a new HealthGraphClient