Code Duplication    Length = 12-12 lines in 4 locations

src/Rate.php 4 locations

@@ 45-56 (lines=12) @@
42
     *
43
     * @return RateResponse
44
     */
45
    public function shopRates($rateRequest)
46
    {
47
        if ($rateRequest instanceof Shipment) {
48
            $shipment = $rateRequest;
49
            $rateRequest = new RateRequest();
50
            $rateRequest->setShipment($shipment);
51
        }
52
53
        $this->requestOption = 'Shop';
54
55
        return $this->sendRequest($rateRequest);
56
    }
57
58
    /**
59
     * @param $rateRequest
@@ 65-76 (lines=12) @@
62
     *
63
     * @return RateResponse
64
     */
65
    public function shopRatesTimeInTransit($rateRequest)
66
    {
67
        if ($rateRequest instanceof Shipment) {
68
            $shipment = $rateRequest;
69
            $rateRequest = new RateRequest();
70
            $rateRequest->setShipment($shipment);
71
        }
72
73
        $this->requestOption = 'Shoptimeintransit';
74
75
        return $this->sendRequest($rateRequest);
76
    }
77
78
    /**
79
     * @param $rateRequest
@@ 85-96 (lines=12) @@
82
     *
83
     * @return RateResponse
84
     */
85
    public function getRate($rateRequest)
86
    {
87
        if ($rateRequest instanceof Shipment) {
88
            $shipment = $rateRequest;
89
            $rateRequest = new RateRequest();
90
            $rateRequest->setShipment($shipment);
91
        }
92
93
        $this->requestOption = 'Rate';
94
95
        return $this->sendRequest($rateRequest);
96
    }
97
98
    /**
99
     * @param $rateRequest
@@ 105-116 (lines=12) @@
102
     *
103
     * @return RateResponse
104
     */
105
    public function getRateTimeInTransit($rateRequest)
106
    {
107
        if ($rateRequest instanceof Shipment) {
108
            $shipment = $rateRequest;
109
            $rateRequest = new RateRequest();
110
            $rateRequest->setShipment($shipment);
111
        }
112
113
        $this->requestOption = 'Ratetimeintransit';
114
115
        return $this->sendRequest($rateRequest);
116
    }
117
118
    /**
119
     * Creates and sends a request for the given shipment. This handles checking for