Code Duplication    Length = 24-26 lines in 4 locations

lib/WebMarketingROI/OptimizelyPHP/Service/v2/Audiences.php 1 location

@@ 38-62 (lines=25) @@
35
     * @return array[Audience]
36
     * @throws \Exception
37
     */
38
    public function listAll($projectId, $page=0, $perPage=10)
39
    {
40
        if ($page<0) {
41
            throw new \Exception('Invalid page number passed');
42
        }
43
        
44
        if ($perPage<0) {
45
            throw new \Exception('Invalid page size passed');
46
        }
47
        
48
        $response = $this->client->sendApiRequest('/audiences', 
49
                array(
50
                    'project_id'=>$projectId,
51
                    'page'=>$page,
52
                    'per_page'=>$perPage
53
                ));
54
        
55
        $audiences = array();
56
        foreach ($response as $audienceInfo) {
57
            $audience = new Audience($audienceInfo);
58
            $audiences[] = $audience;
59
        }
60
        
61
        return $audiences;
62
    }
63
    
64
    /**
65
     * Get metadata for a single Audience.

lib/WebMarketingROI/OptimizelyPHP/Service/v2/Events.php 1 location

@@ 41-66 (lines=26) @@
38
     * @return array[Event]
39
     * @throws \Exception
40
     */
41
    public function listAll($projectId, $includeClassic, $page=0, $perPage=10)
42
    {
43
        if ($page<0) {
44
            throw new \Exception('Invalid page number passed');
45
        }
46
        
47
        if ($perPage<0) {
48
            throw new \Exception('Invalid page size passed');
49
        }
50
        
51
        $response = $this->client->sendApiRequest('/events', 
52
                array(
53
                    'project_id'=>$projectId,
54
                    'include_classic'=>$includeClassic,
55
                    'page'=>$page,
56
                    'per_page'=>$perPage
57
                ));
58
        
59
        $events = array();
60
        foreach ($response as $eventInfo) {
61
            $event = new Event($eventInfo);
62
            $events[] = $event;
63
        }
64
        
65
        return $events;
66
    }
67
    
68
    /**
69
     * Get Event by ID

lib/WebMarketingROI/OptimizelyPHP/Service/v2/Pages.php 1 location

@@ 38-62 (lines=25) @@
35
     * @return array[Page]
36
     * @throws \Exception
37
     */
38
    public function listAll($projectId, $page=0, $perPage=10)
39
    {
40
        if ($page<0) {
41
            throw new \Exception('Invalid page number passed');
42
        }
43
        
44
        if ($perPage<0) {
45
            throw new \Exception('Invalid page size passed');
46
        }
47
        
48
        $response = $this->client->sendApiRequest('/pages', 
49
                array(
50
                    'project_id'=>$projectId,
51
                    'page'=>$page,
52
                    'per_page'=>$perPage
53
                ));
54
        
55
        $pages = array();
56
        foreach ($response as $pageInfo) {
57
            $page = new Page($pageInfo);
58
            $pages[] = $page;
59
        }
60
        
61
        return $pages;
62
    }
63
    
64
    /**
65
     * Get metadata for a single Page

lib/WebMarketingROI/OptimizelyPHP/Service/v2/Projects.php 1 location

@@ 37-60 (lines=24) @@
34
     * @return array
35
     * @throws \Exception
36
     */
37
    public function listAll($page=0, $perPage=10)
38
    {
39
        if ($page<0) {
40
            throw new \Exception('Invalid page number passed');
41
        }
42
        
43
        if ($perPage<0 || $perPage>100) {
44
            throw new \Exception('Invalid page size passed');
45
        }
46
        
47
        $response = $this->client->sendApiRequest('/projects', 
48
                array(
49
                    'page'=>$page,
50
                    'per_page'=>$perPage
51
                ));
52
        
53
        $projects = array();
54
        foreach ($response as $projectInfo) {
55
            $project = new Project($projectInfo);
56
            $projects[] = $project;
57
        }
58
        
59
        return $projects;
60
    }
61
    
62
    /**
63
     * Get metadata for a single Project.