RequestedResources   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

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

3 Methods

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