ReservationMailer   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 40
Duplicated Lines 20 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 68.42%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 8
loc 40
ccs 13
cts 19
cp 0.6842
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A send() 8 31 4

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php namespace VojtaSvoboda\Reservations\Mailers;
2
3
use App;
4
use Mail;
5
use Request;
6
use VojtaSvoboda\Reservations\Models\Reservation;
7
8
class ReservationMailer extends BaseMailer
9
{
10
    /**
11
     * Send reservation confirmation mail.
12
     *
13
     * @param Reservation $reservation
14
     * @param int $reservationsCount
15
     */
16 5
    public function send(Reservation $reservation, $reservationsCount = 0)
17
    {
18
        // init
19 5
        $locale = App::getLocale();
20 5
        $appUrl = App::make('url')->to('/');
21 5
        $recipients = $this->initRecipients();
22 5
        $recipients['email'] = $reservation->email;
23 5
        $recipients['name'] = trim($reservation->name . ' ' . $reservation->lastname);
24
25 5
        $template = $this->getTemplateIdent('reservation');
26
27
        $templateParameters = [
28 5
            'site' => $appUrl,
29 5
            'reservation' => $reservation,
30 5
            'locale' => $locale,
31 5
            'reservationsCount' => $reservationsCount,
32
        ];
33
34 5
        if (App::environment() === 'testing') {
35 5
            return;
36
        }
37
38 View Code Duplication
        Mail::send($template, $templateParameters, function($message) use ($recipients)
39
        {
40
            $message->to($recipients['email'], $recipients['name']);
41
42
            if (!empty($recipients['bcc_email']) && !empty($recipients['bcc_name'])) {
43
                $message->bcc($recipients['bcc_email'], $recipients['bcc_name']);
44
            }
45
        });
46
    }
47
}
48