Completed
Push — master ( d0d40f...472735 )
by Artem
02:46
created

ScopeApi::create()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 30
Code Lines 27

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 28
CRAP Score 1

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 30
ccs 28
cts 28
cp 1
rs 8.8571
cc 1
eloc 27
nc 1
nop 25
crap 1

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
3
//----------------------------------------------------------------------
4
//
5
//  Copyright (C) 2015-2016 Artem Rodygin
6
//
7
//  This file is part of Linode API Client Library for PHP.
8
//
9
//  You should have received a copy of the MIT License along with
10
//  the library. If not, see <http://opensource.org/licenses/MIT>.
11
//
12
//----------------------------------------------------------------------
13
14
namespace Linode\ProfessionalServices;
15
16
use Linode\BaseLinodeApi;
17
18
/**
19
 * This class is autogenerated.
20
 *
21
 * @version Linode API v3.3
22
 */
23
class ScopeApi extends BaseLinodeApi
24
{
25
    /**
26
     * Creates a new Professional Services scope submission.
27
     *
28
     * @param string $linode_plan           [optional] Which Linode plans would you like to deploy?
29
     * @param string $customer_name         [optional] 
30
     * @param string $web_server            [optional] These provide network protocol handling for hosting websites.
31
     * @param string $mail_transfer         [optional] Mail transfer agents facilitate message transfer between servers
32
     * @param string $server_quantity       [optional] How many separate servers are involved in this migration?
33
     * @param string $provider_access       [optional] What types of server access do you have at your current provider?
34
     * @param string $monitoring            [optional] Constant monitoring of your deployed systems--these can also provide automatic notifications for service failures.
35
     * @param string $web_cache             [optional] Caching mechanisms provide temporary storage for web requests--cached content can generally be retrieved faster.
36
     * @param string $database_server       [optional] Generally used by applications to provide an organized way to capture and manipulate data
37
     * @param string $mail_filtering        [optional] Services here manipulate recieved messages in various ways
38
     * @param string $notes                 [optional] 
39
     * @param string $ticket_number         [optional] 
40
     * @param string $content_management    [optional] Centralized interfaces for editing, organizing, and publishing content
41
     * @param string $linode_datacenter     [optional] Which datacenters would you like your Linodes to be deployed in?
42
     * @param string $mail_retrieval        [optional] User mail clients connect to these to retrieve delivered mail
43
     * @param string $system_administration [optional] Various web interfaces for performing system administration tasks
44
     * @param string $requested_service     [optional] 
45
     * @param string $crossover             [optional] These can assist in providing reliable crossover--failures of individual components can be transparent to the application.
46
     * @param string $phone_number          [optional] 
47
     * @param string $application_quantity  [optional] How many separate applications or websites are involved in this migration?
48
     * @param string $managed               [optional] 
49
     * @param string $webmail               [optional] Access and administrate mail via web interfaces
50
     * @param string $current_provider      [optional] 
51
     * @param string $email_address         [optional] 
52
     * @param string $replication           [optional] Redundant services often have shared state--replication automatically propagates state changes between individual components.
53
     *
54
     * @return array
55
     */
56 1
    public function create($linode_plan = null, $customer_name = null, $web_server = null, $mail_transfer = null, $server_quantity = null, $provider_access = null, $monitoring = null, $web_cache = null, $database_server = null, $mail_filtering = null, $notes = null, $ticket_number = null, $content_management = null, $linode_datacenter = null, $mail_retrieval = null, $system_administration = null, $requested_service = null, $crossover = null, $phone_number = null, $application_quantity = null, $managed = null, $webmail = null, $current_provider = null, $email_address = null, $replication = null)
57
    {
58 1
        return $this->call('professionalservices.scope.create', [
59 1
            'linode_plan'           => $linode_plan,
60 1
            'customer_name'         => $customer_name,
61 1
            'web_server'            => $web_server,
62 1
            'mail_transfer'         => $mail_transfer,
63 1
            'server_quantity'       => $server_quantity,
64 1
            'provider_access'       => $provider_access,
65 1
            'monitoring'            => $monitoring,
66 1
            'web_cache'             => $web_cache,
67 1
            'database_server'       => $database_server,
68 1
            'mail_filtering'        => $mail_filtering,
69 1
            'notes'                 => $notes,
70 1
            'ticket_number'         => $ticket_number,
71 1
            'content_management'    => $content_management,
72 1
            'linode_datacenter'     => $linode_datacenter,
73 1
            'mail_retrieval'        => $mail_retrieval,
74 1
            'system_administration' => $system_administration,
75 1
            'requested_service'     => $requested_service,
76 1
            'crossover'             => $crossover,
77 1
            'phone_number'          => $phone_number,
78 1
            'application_quantity'  => $application_quantity,
79 1
            'managed'               => $managed,
80 1
            'webmail'               => $webmail,
81 1
            'current_provider'      => $current_provider,
82 1
            'email_address'         => $email_address,
83 1
            'replication'           => $replication,
84 1
        ]);
85
    }
86
}
87