Skip to content

Commit

Permalink
create a connector service. Close #4
Browse files Browse the repository at this point in the history
  • Loading branch information
mgallego committed Aug 13, 2012
1 parent a44127a commit 6777c18
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 13 deletions.
19 changes: 15 additions & 4 deletions Adapter/WidgetHandler.php
Expand Up @@ -22,7 +22,12 @@ class WidgetHandler{
private $pushApiPath = 'https://push.ducksboard.com/values/';
private $pullApiPath = 'https://pull.ducksboard.com/values/';
protected $data;

protected $connector;


public function __construct(Connector $connector){
$this->connector = $connector;
}


public function push(){
Expand All @@ -45,21 +50,27 @@ public function push(){


public function createConnector($apiPath, $method){
$connector = new Connector($apiPath, $this->apiKey);
$connector = $this->connector;
$connector->createConnector($apiPath, $this->apiKey);
$connector->setMethod($method);
return $connector;
}



public function callApi($apiPath, $method, $inputData = null){
$connector = $this->createConnector($apiPath, $method);
$connector->setData($inputData);
$response = $connector->exec();
$response = $this->sendData($connector, $inputData);
$connector->close();
return $response;
}


public function sendData(&$connector, $data){
$connector->setData($data);
return $connector->exec();
}

public function setApiKey($apiKey){
$this->apiKey = $apiKey;
}
Expand Down
5 changes: 2 additions & 3 deletions Connection/Connector.php
Expand Up @@ -15,14 +15,13 @@ class Connector
protected $connector;


public function __construct($apiPath, $apiKey){
public function createConnector($apiPath, $apiKey){
$this->connector = curl_init($apiPath);
curl_setopt($this->connector, CURLOPT_USERPWD, $apiKey.":ignored");
curl_setopt ($this->connector,CURLOPT_RETURNTRANSFER,true);
}




public function setMethod($method = 'POST'){
$methodKey = 1;

Expand Down
2 changes: 1 addition & 1 deletion DependencyInjection/SFMDucksboardExtension.php
Expand Up @@ -13,6 +13,6 @@ public function load(array $configs, ContainerBuilder $container)
{
// registering services
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('widget.xml');
$loader->load('services.xml');
}
}
1 change: 1 addition & 0 deletions README.md
Expand Up @@ -77,6 +77,7 @@ services:
...
example.ducksboard:
class: SFM\DucksboardBundle\Adapter\Widget
arguments: [@sfm.ducksboard.connector]
calls:
- [setApiKey, [%ducksboard_api%]]

Expand Down
10 changes: 7 additions & 3 deletions Resources/config/widget.xml → Resources/config/services.xml
Expand Up @@ -6,11 +6,15 @@

<parameters>
<parameter key="ducksboard_widget.class">SFM\DucksboardBundle\Adapter\Widget</parameter>
<parameter key="ducksboard_connector.class">SFM\DucksboardBundle\Connection\Connector</parameter>
</parameters>

<services>
<service id="sfm.ducksboard.widget" class="%ducksboard_widget.class%">
</service>
<service id="sfm.ducksboard.connector" class="%ducksboard_connector.class%">
</service>
<service id="sfm.ducksboard.widget" class="%ducksboard_widget.class%">
<argument type="service" id="sfm.ducksboard.connector"/>
</service>
</services>

</container>
5 changes: 3 additions & 2 deletions Tests/Adapter/WidgetTest.php
Expand Up @@ -3,20 +3,21 @@
namespace SFM\DucksboardBundle\Tests\Adapter;

use SFM\DucksboardBundle\Adapter\Widget;
use SFM\DucksboardBundle\Connection\Connector;

class WidgetTest extends \PHPUnit_Framework_TestCase
{

public function testSetData(){
$widget = new Widget();
$widget = new Widget($connector = new Connector());
$data = array(1, array('value'=>1));

$widget->setData($data);
$this->assertEquals($data, $widget->getData());
}

public function testAppendData(){
$widget = new Widget();
$widget = new Widget($connector = new Connector());
$dataOne = array(1, array('value'=>1));
$dataTwo = array(2, array('value'=>2));

Expand Down

0 comments on commit 6777c18

Please sign in to comment.