Code Duplication    Length = 18-21 lines in 2 locations

src/Envelopes/Builder.php 2 locations

@@ 258-275 (lines=18) @@
255
     *
256
     * @return $this
257
     */
258
    public function addIpData($ip = '', $realIp = '', $merchantIp = '')
259
    {
260
        if ($ip !== null && !is_string($ip)) {
261
            throw new \InvalidArgumentException('IP must be string');
262
        }
263
        if ($realIp !== null && !is_string($realIp)) {
264
            throw new \InvalidArgumentException('Real IP must be string');
265
        }
266
        if ($merchantIp !== null && !is_string($merchantIp)) {
267
            throw new \InvalidArgumentException('Merchant IP must be string');
268
        }
269
270
        $this->replace('ip', $ip);
271
        $this->replace('real_ip', $realIp);
272
        $this->replace('merchant_ip', $merchantIp);
273
274
        return $this;
275
    }
276
277
    /**
278
     * Provides browser information for envelope
@@ 684-704 (lines=21) @@
681
     *
682
     * @return $this
683
     */
684
    public function addProductData(
685
        $productQuantity = 0.0,
686
        $productName = '',
687
        $productDescription = ''
688
    ) {
689
        if ($productQuantity !== null && !is_int($productQuantity) && !is_float($productQuantity)) {
690
            throw new \InvalidArgumentException('Product quantity must be int or float');
691
        }
692
        if ($productName !== null && !is_string($productName)) {
693
            throw new \InvalidArgumentException('Product name must be string');
694
        }
695
        if ($productDescription !== null && !is_string($productDescription)) {
696
            throw new \InvalidArgumentException('Product description must be string');
697
        }
698
699
        $this->replace('product_quantity', $productQuantity);
700
        $this->replace('product_name', $productName);
701
        $this->replace('product_description', $productDescription);
702
703
        return $this;
704
    }
705
706
    /**
707
     * Adds custom data field to envelope