Skip to content

Commit

Permalink
This is a draft commit and should not be merged without properly rebase.
Browse files Browse the repository at this point in the history
  • Loading branch information
guzzilar committed Jun 22, 2019
1 parent 21898d8 commit ef691af
Show file tree
Hide file tree
Showing 22 changed files with 645 additions and 401 deletions.
20 changes: 5 additions & 15 deletions lib/Account.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Omise;

use Omise\Res\OmiseApiResource;
use Omise\ApiResource;

class Account extends OmiseApiResource
class Account extends ApiResource
{
const ENDPOINT = 'account';

Expand All @@ -14,24 +14,14 @@ class Account extends OmiseApiResource
*/
public static function retrieve()
{
return parent::g_retrieve(get_class(), self::getUrl());
return parent::resourceRetrieve();
}

/**
* @see Omise\Res\OmiseApiResource::g_reload()
* @see Omise\ApiResource::resourceReload()
*/
public function reload()
{
parent::g_reload(self::getUrl());
}

/**
* @param string $id
*
* @return string
*/
private static function getUrl($id = '')
{
return \Omise\ApiRequestor::OMISE_API_URL . self::ENDPOINT . '/' . $id;
parent::resourceReload();
}
}
20 changes: 5 additions & 15 deletions lib/Balance.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php
namespace Omise;

use Omise\Res\OmiseApiResource;
use Omise\ApiResource;

class Balance extends OmiseApiResource
class Balance extends ApiResource
{
const ENDPOINT = 'balance';

Expand All @@ -14,24 +14,14 @@ class Balance extends OmiseApiResource
*/
public static function retrieve()
{
return parent::g_retrieve(get_class(), self::getUrl());
return parent::resourceRetrieve();
}

/**
* @see Omise\Res\OmiseApiResource::g_reload()
* @see Omise\ApiResource::resourceReload()
*/
public function reload()
{
parent::g_reload(self::getUrl());
}

/**
* @param string $id
*
* @return string
*/
private static function getUrl($id = '')
{
return \Omise\ApiRequestor::OMISE_API_URL . self::ENDPOINT . '/' . $id;
parent::resourceReload();
}
}
53 changes: 22 additions & 31 deletions lib/Charge.php
Original file line number Diff line number Diff line change
@@ -1,51 +1,52 @@
<?php
namespace Omise;

use Omise\Res\OmiseApiResource;
use Omise\ApiResource;
use Omise\Refund;
use Omise\RefundList;
use Omise\ScheduleList;
use Omise\Scheduler;
use Omise\Search;

class Charge extends OmiseApiResource
class Charge extends ApiResource
{
const ENDPOINT = 'charges';

/**
* Retrieves a charge.
* Search for charges.
*
* @param string $id
* @param string $query
*
* @return Omise\Charge
* @return Omise\Search
*/
public static function retrieve($id = '')
public static function search($query = '')
{
return parent::g_retrieve(get_class(), self::getUrl($id));
return Search::scope('charge')->query($query);
}

public static function all($query)
{
return \Omise\Collection::all(self::ENDPOINT, $query);
}

/**
* Search for charges.
* Retrieves a charge.
*
* @param string $query
* @param string $id
*
* @return Omise\Search
* @return Omise\Charge
*/
public static function search($query = '')
public static function retrieve($id = '')
{
return Search::scope('charge')->query($query);
return parent::resourceRetrieve($id);
}

/**
* @see Omise\Res\OmiseApiResource::g_reload()
* @see Omise\ApiResource::resourceReload()
*/
public function reload()
{
if ($this['object'] === 'charge') {
parent::g_reload(self::getUrl($this['id']));
} else {
parent::g_reload(self::getUrl());
}
parent::resourceReload();
}

/**
Expand All @@ -69,15 +70,15 @@ public static function schedule($params)
*/
public static function create($params)
{
return parent::g_create(get_class(), self::getUrl(), $params);
return parent::resourceCreate($params);
}

/**
* @see Omise\Res\OmiseApiResource::g_update()
* @see Omise\ApiResource::resourceUpdate()
*/
public function update($params)
{
parent::g_update(self::getUrl($this['id']), $params);
parent::resourceUpdate($params);
}

/**
Expand Down Expand Up @@ -148,14 +149,4 @@ public static function schedules($options = array())

return parent::g_retrieve('\Omise\ScheduleList', self::getUrl('schedules' . $options));
}

/**
* @param string $id
*
* @return string
*/
private static function getUrl($id = '')
{
return \Omise\ApiRequestor::OMISE_API_URL . self::ENDPOINT . '/' . $id;
}
}
30 changes: 30 additions & 0 deletions lib/Collection.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php
namespace Omise;

class Collection
{
/**
* @var array
*/
protected $items = array();

public function __construct($items)
{
$this->items = $items['data'];

foreach ($this->items as $key => $value) {
$this->items[$key] = $this->mappedObject($value);
}
}

protected function mappedObject($values)
{
$knownObject = array(
'transaction' => '\Omise\Transaction'
);

$object = $knownObject[$values['object']];

return new $object($values);
}
}
32 changes: 9 additions & 23 deletions lib/Customer.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php
namespace Omise;

use Omise\Res\OmiseApiResource;
use Omise\ApiResource;
use Omise\CardList;
use Omise\ScheduleList;
use Omise\Search;

class Customer extends OmiseApiResource
class Customer extends ApiResource
{
const ENDPOINT = 'customers';

Expand All @@ -19,7 +19,7 @@ class Customer extends OmiseApiResource
*/
public static function retrieve($id = '')
{
return parent::g_retrieve(get_class(), self::getUrl($id));
return parent::resourceRetrieve($id);
}

/**
Expand All @@ -43,35 +43,31 @@ public static function search($query = '')
*/
public static function create($params)
{
return parent::g_create(get_class(), self::getUrl(), $params);
return parent::resourceCreate($params);
}

/**
* @see Omise\Res\OmiseApiResource::g_reload()
* @see Omise\ApiResource::g_reload()
*/
public function reload()
{
if ($this['object'] === 'customer') {
parent::g_reload(self::getUrl($this['id']));
} else {
parent::g_reload(self::getUrl());
}
parent::resourceReload();
}

/**
* @see Omise\Res\OmiseApiResource::g_update()
*/
public function update($params)
{
parent::g_update(self::getUrl($this['id']), $params);
parent::resourceUpdate($params);
}

/**
* @see Omise\Res\OmiseApiResource::g_destroy()
* @see Omise\xApiResource::g_destroy()
*/
public function destroy()
{
parent::g_destroy(self::getUrl($this['id']));
parent::resourceDestroy();
}

/**
Expand Down Expand Up @@ -129,14 +125,4 @@ public function schedules($options = array())
return parent::g_retrieve('\Omise\ScheduleList', self::getUrl($this['id'] . '/schedules' . $options));
}
}

/**
* @param string $id
*
* @return string
*/
private static function getUrl($id = '')
{
return \Omise\ApiRequestor::OMISE_API_URL . self::ENDPOINT . '/' . $id;
}
}
30 changes: 7 additions & 23 deletions lib/Dispute.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php
namespace Omise;

use Omise\Res\OmiseApiResource;
use Omise\ApiResource;
use Omise\Search;

class Dispute extends OmiseApiResource
class Dispute extends ApiResource
{
const ENDPOINT = 'disputes';

Expand All @@ -17,7 +17,7 @@ class Dispute extends OmiseApiResource
*/
public static function retrieve($id = '')
{
return parent::g_retrieve(get_class(), self::getUrl($id));
return parent::resourceRetrieve($id);
}

/**
Expand All @@ -33,34 +33,18 @@ public static function search($query = '')
}

/**
* @see Omise\Res\OmiseApiResource::g_reload()
* @see Omise\ApiResource::g_reload()
*/
public function reload()
{
if ($this['object'] === 'dispute') {
parent::g_reload(self::getUrl($this['id']));
} else {
parent::g_reload(self::getUrl());
}
parent::resourceReload();
}

/**
* @see Omise\Res\OmiseApiResource::g_update()
* @see Omise\ApiResource::g_update()
*/
public function update($params)
{
parent::g_update(self::getUrl($this['id']), $params);
}

/**
* Generate request url.
*
* @param string $id
*
* @return string
*/
private static function getUrl($id = '')
{
return \Omise\ApiRequestor::OMISE_API_URL . self::ENDPOINT . '/' . $id;
parent::resourceUpdate($params);
}
}
Loading

0 comments on commit ef691af

Please sign in to comment.