From 2412efd1a20ba2c67df7d2395f12f56b75c5c81c Mon Sep 17 00:00:00 2001 From: Eugene Storchevoy Date: Wed, 6 Dec 2017 23:02:11 +0100 Subject: [PATCH] cleanup_duplication: moved duplications to abstract class. --- .../Model/Domain/AbstractDomainResponse.php | 119 ++++++++++++++++++ src/Mailgun/Model/Domain/CreateResponse.php | 104 +-------------- src/Mailgun/Model/Domain/VerifyResponse.php | 104 +-------------- 3 files changed, 121 insertions(+), 206 deletions(-) create mode 100644 src/Mailgun/Model/Domain/AbstractDomainResponse.php diff --git a/src/Mailgun/Model/Domain/AbstractDomainResponse.php b/src/Mailgun/Model/Domain/AbstractDomainResponse.php new file mode 100644 index 00000000..73de6316 --- /dev/null +++ b/src/Mailgun/Model/Domain/AbstractDomainResponse.php @@ -0,0 +1,119 @@ + + */ +abstract class AbstractDomainResponse implements ApiResponse +{ + /** + * @var string + */ + private $message; + + /** + * @var Domain + */ + private $domain; + + /** + * @var DnsRecord[] + */ + private $inboundDnsRecords; + + /** + * @var DnsRecord[] + */ + private $outboundDnsRecords; + + /** + * @param array $data + * + * @return self + */ + public static function create(array $data) + { + $rx = []; + $tx = []; + $domain = null; + $message = null; + + if (isset($data['domain'])) { + $domain = Domain::create($data['domain']); + } + + if (isset($data['message'])) { + $message = $data['message']; + } + + if (isset($data['receiving_dns_records'])) { + foreach ($data['receiving_dns_records'] as $item) { + $rx[] = DnsRecord::create($item); + } + } + + if (isset($data['sending_dns_records'])) { + foreach ($data['sending_dns_records'] as $item) { + $tx[] = DnsRecord::create($item); + } + } + + return new self($domain, $rx, $tx, $message); + } + + /** + * @param Domain $domainInfo + * @param DnsRecord[] $rxRecords + * @param DnsRecord[] $txRecords + * @param string $message + */ + private function __construct(Domain $domainInfo, array $rxRecords, array $txRecords, $message) + { + $this->domain = $domainInfo; + $this->inboundDnsRecords = $rxRecords; + $this->outboundDnsRecords = $txRecords; + $this->message = $message; + } + + /** + * @return Domain + */ + public function getDomain() + { + return $this->domain; + } + + /** + * @return DnsRecord[] + */ + public function getInboundDNSRecords() + { + return $this->inboundDnsRecords; + } + + /** + * @return DnsRecord[] + */ + public function getOutboundDNSRecords() + { + return $this->outboundDnsRecords; + } + + /** + * @return string + */ + public function getMessage() + { + return $this->message; + } +} diff --git a/src/Mailgun/Model/Domain/CreateResponse.php b/src/Mailgun/Model/Domain/CreateResponse.php index 0affa24a..4b534d54 100644 --- a/src/Mailgun/Model/Domain/CreateResponse.php +++ b/src/Mailgun/Model/Domain/CreateResponse.php @@ -9,111 +9,9 @@ namespace Mailgun\Model\Domain; -use Mailgun\Model\ApiResponse; - /** * @author Tobias Nyholm */ -final class CreateResponse implements ApiResponse +final class CreateResponse extends AbstractDomainResponse { - /** - * @var string - */ - private $message; - - /** - * @var Domain - */ - private $domain; - - /** - * @var DnsRecord[] - */ - private $inboundDnsRecords; - - /** - * @var DnsRecord[] - */ - private $outboundDnsRecords; - - /** - * @param array $data - * - * @return self - */ - public static function create(array $data) - { - $rx = []; - $tx = []; - $domain = null; - $message = null; - - if (isset($data['domain'])) { - $domain = Domain::create($data['domain']); - } - - if (isset($data['message'])) { - $message = $data['message']; - } - - if (isset($data['receiving_dns_records'])) { - foreach ($data['receiving_dns_records'] as $item) { - $rx[] = DnsRecord::create($item); - } - } - - if (isset($data['sending_dns_records'])) { - foreach ($data['sending_dns_records'] as $item) { - $tx[] = DnsRecord::create($item); - } - } - - return new self($domain, $rx, $tx, $message); - } - - /** - * @param Domain $domainInfo - * @param DnsRecord[] $rxRecords - * @param DnsRecord[] $txRecords - * @param string $message - */ - private function __construct(Domain $domainInfo, array $rxRecords, array $txRecords, $message) - { - $this->domain = $domainInfo; - $this->inboundDnsRecords = $rxRecords; - $this->outboundDnsRecords = $txRecords; - $this->message = $message; - } - - /** - * @return Domain - */ - public function getDomain() - { - return $this->domain; - } - - /** - * @return DnsRecord[] - */ - public function getInboundDNSRecords() - { - return $this->inboundDnsRecords; - } - - /** - * @return DnsRecord[] - */ - public function getOutboundDNSRecords() - { - return $this->outboundDnsRecords; - } - - /** - * @return string - */ - public function getMessage() - { - return $this->message; - } } diff --git a/src/Mailgun/Model/Domain/VerifyResponse.php b/src/Mailgun/Model/Domain/VerifyResponse.php index 4790eb74..de6e169b 100644 --- a/src/Mailgun/Model/Domain/VerifyResponse.php +++ b/src/Mailgun/Model/Domain/VerifyResponse.php @@ -9,111 +9,9 @@ namespace Mailgun\Model\Domain; -use Mailgun\Model\ApiResponse; - /** * @author Maxim Zasorin */ -final class VerifyResponse implements ApiResponse +final class VerifyResponse extends AbstractDomainResponse { - /** - * @var Domain - */ - private $domain; - - /** - * @var string - */ - private $message; - - /** - * @var DnsRecord[] - */ - private $inboundDnsRecords; - - /** - * @var DnsRecord[] - */ - private $outboundDnsRecords; - - /** - * @param array $data - * - * @return self - */ - public static function create(array $data) - { - $rx = []; - $tx = []; - $domain = null; - $message = null; - - if (isset($data['domain'])) { - $domain = Domain::create($data['domain']); - } - - if (isset($data['message'])) { - $message = $data['message']; - } - - if (isset($data['receiving_dns_records'])) { - foreach ($data['receiving_dns_records'] as $item) { - $rx[] = DnsRecord::create($item); - } - } - - if (isset($data['sending_dns_records'])) { - foreach ($data['sending_dns_records'] as $item) { - $tx[] = DnsRecord::create($item); - } - } - - return new self($domain, $rx, $tx, $message); - } - - /** - * @param Domain $domainInfo - * @param DnsRecord[] $rxRecords - * @param DnsRecord[] $txRecords - * @param string $message - */ - private function __construct(Domain $domainInfo, array $rxRecords, array $txRecords, $message) - { - $this->domain = $domainInfo; - $this->inboundDnsRecords = $rxRecords; - $this->outboundDnsRecords = $txRecords; - $this->message = $message; - } - - /** - * @return Domain - */ - public function getDomain() - { - return $this->domain; - } - - /** - * @return DnsRecord[] - */ - public function getInboundDNSRecords() - { - return $this->inboundDnsRecords; - } - - /** - * @return DnsRecord[] - */ - public function getOutboundDNSRecords() - { - return $this->outboundDnsRecords; - } - - /** - * @return string - */ - public function getMessage() - { - return $this->message; - } }