Test Failed
Push — master ( 99cade...32f37c )
by Dan Michael O.
10:15
created

RequestedResources   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
dl 0
loc 46
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 8 1
A urlBase() 0 4 1
A convertToResource() 0 7 1
1
<?php
2
3
namespace Scriptotek\Alma\TaskLists;
4
5
use Scriptotek\Alma\Bibs\Bib;
6
use Scriptotek\Alma\Client;
7
use Scriptotek\Alma\Conf\Library;
8
use Scriptotek\Alma\Model\SimplePaginatedList;
9
10
class RequestedResources extends SimplePaginatedList implements \Countable, \Iterator
11
{
12
    protected $client;
13
    protected $library;
14
15
    /**
16
     * RequestedResources constructor.
17
     *
18
     * @param Client $client
19
     * @param Library $library
20
     * @param string $circ_desk
21
     * @param array $params
22
     */
23
    public function __construct(Client $client, Library $library, $circ_desk = 'DEFAULT_CIRC_DESK', $params = [])
24
    {
25
        parent::__construct($client, 'requested_resource');
26
        $this->library = $library;
27
        $params['library'] = $library->code;
28
        $params['circ_desk'] = $circ_desk;
29
        $this->params = $params;
30
    }
31
32
    /**
33
     * Generate the base URL for this resource.
34
     *
35
     * @return string
36
     */
37
    protected function urlBase()
38
    {
39
        return '/task-lists/requested-resources';
40
    }
41
42
    /**
43
     * Convert a data element to a resource object.
44
     *
45
     * @param $data
46
     * @return mixed
47
     */
48
    protected function convertToResource($data)
49
    {
50
        $bib = $this->client->bibs->get($data->resource_metadata->mms_id->value);
51
52
        return RequestedResource::make($this->client, $this->library, $this->params['circ_desk'], $bib)
53
            ->init($data);
54
    }
55
}
56