public function getServiceConfig()
 {
     return array('factories' => array('zfmodule_cache' => function ($sm) {
         $config = $sm->get('Config');
         $storage = StorageFactory::factory($config['zfmodule']['cache']);
         return $storage;
     }, 'zfmodule_mapper_module' => function ($sm) {
         $mapper = new Mapper\Module();
         $mapper->setDbAdapter($sm->get('zfcuser_zend_db_adapter'));
         $mapper->setEntityPrototype(new Entity\Module());
         $mapper->setHydrator(new Mapper\ModuleHydrator());
         return $mapper;
     }, 'zfmodule_service_module' => function ($sm) {
         $service = new Service\Module();
         return $service;
     }, 'zfmodule_service_repository' => function ($sm) {
         $service = new Service\Repository();
         $service->setApi($sm->get('EdpGithub\\Client'));
         return $service;
     }));
 }
 public function getServiceConfig()
 {
     return array('factories' => array('application_module_mapper' => function ($sm) {
         $mapper = new Mapper\Module();
         $mapper->setDbAdapter($sm->get('zfcuser_zend_db_adapter'));
         $mapper->setEntityPrototype(new Entity\Module());
         $mapper->setHydrator(new Mapper\ModuleHydrator());
         return $mapper;
     }, 'application_module_service' => function ($sm) {
         $service = new Service\Module();
         return $service;
     }, 'application_service_repository' => function ($sm) {
         $service = new Service\Repository();
         $service->setApi($sm->get('EdpGithub\\Client'));
         return $service;
     }, 'github_client' => function ($sm) {
         $hybridAuth = $sm->get('HybridAuth');
         $adapter = $hybridAuth->getAdapter('github');
         $token = $adapter->getAccessToken();
         $client = $sm->get('EdpGithubClient');
         $client->authenticate('url_token', $token['access_token'], null);
         return $client;
     }));
 }