Recurly_Coupon::createUpdateXML PHP Method

createUpdateXML() public method

only uses the updateable attributes
public createUpdateXML ( )
    public function createUpdateXML()
    {
        $doc = $this->createDocument();
        $root = $doc->appendChild($doc->createElement($this->getNodeName()));
        foreach ($this->getUpdatableAttributes() as $attr) {
            $val = $this->{$attr};
            if ($val instanceof DateTime) {
                $val = $val->format('c');
            }
            $root->appendChild($doc->createElement($attr, $val));
        }
        return $this->renderXML($doc);
    }

Usage Example

 public function testCreateUpdateXML()
 {
     $coupon = new Recurly_Coupon();
     // should ignore these values
     $coupon->coupon_code = 'fifteen-off';
     $coupon->discount_type = 'dollar';
     $coupon->discount_in_cents->addCurrency('USD', 1500);
     $coupon->plan_codes = array('gold', 'monthly');
     // should serialize these values
     $coupon->name = '$15 Off';
     $coupon->invoice_description = 'Invoice description';
     $coupon->redeem_by_date = '2017-12-01';
     $coupon->max_redemptions = 100;
     $coupon->max_redemptions_per_account = 3;
     $this->assertEquals("<?xml version=\"1.0\"?>\n<coupon><name>\$15 Off</name><max_redemptions>100</max_redemptions><max_redemptions_per_account>3</max_redemptions_per_account><hosted_description></hosted_description><invoice_description>Invoice description</invoice_description><redeem_by_date>2017-12-01</redeem_by_date></coupon>\n", $coupon->createUpdateXML());
 }